Slouken, possible API bug with scroll frames?

#0 - Feb. 2, 2008, 7:31 p.m.
Blizzard Post
I'm about to go mad. Here's the setup:

I have a scroll frame, let's call it S. I create another frame which acts as a grid, call it G. I set the scroll child for S to G. Inside of G I have a cell, call it C. Inside of C I have status bars, text, whatever.

Got that? S->G->C->status bar, text.

For the love of all that is holy, I can not get the items in the cell (C) to order correctly. I have tried *EVERYTHING* one can imagine; I can not get the status bar in the cell to drop a frame level down under the text.

Note that the order is exactly as follows (in pseudo code!):

S:SetScrollChild(G);
C = G:AddCell();
C:AddText();
C:AddStatusBar();

Also note that S is the parent of G, G is the parent of C, C is the parent of the status bars and text.

It should also be noted that this problem goes away if I remove the call to S:SetScrollChild(G); but then I obviously can't scroll the frame.

So that puts forth the question; does SetScrollChild do something to fubar ordering of all children under it, even if the children are created after the SetScrollChild call?

Dear God, someone tell me this is an API bug; I'm about to lose sleep over it.

*cry*

edit:

Here's a screenshot. The left side is with SetScrollChild, the right side is without. This is a literal difference in leaving the line in versus commenting it out.

http://www.conspiracy-ui.com/orderhell.png
#1 - Feb. 2, 2008, 7:56 p.m.
Blizzard Post
I assume you tried to call SetFrameLevel(GetFrameLevel()-1) on the scrollbar? You might have to bump up it's parent frame a level first.

If you have, go ahead and post a minimal example that shows the problem.