Alex requested that I start a new thread to review. Here's the
relevant portion of the hierarchy  (stated values are in both x and y
directions):

TiledCanvas (100%)
..PodChrome(n of these)
....ReportModuleA (100%) (not a real module, just a VBox)
......ReportChrome (100%)
........ReportA (100%, minimum 500)
..........Grid

PodChrome and ReportModuleA are created in ActionScript at runtime.

TiledCanvas is supposed to have scrollbars. Tested in isolation (i.e.
with a bunch of buttons as children, some with minimums set, it does.
In the above hierarchy, If I remove the 100% from ReportChrome, it
does. But with the percentage sizing of ReportChrome, it doesn't.

It appears that all the measure() methods get called and return 500 or more.
I noticed the following in Container.getScrollableRect(). Possibly related?

            // width/height can be NaN if using percentages and
            // hasn't been layed out yet.
            if (!isNaN(child.width))
                right = Math.max(right, child.x + child.width);
            if (!isNaN(child.height))
                bottom = Math.max(bottom, child.y + child.height);

I also notice some code in UIComponent (I think) that was calling
invalidateDisplayList() immediately after invalidateSize(). Do those
need to be paired? Perhaps my code which constructs PodChrome and
ReportModuleA needs to call invalidateDisplayList.

Reply via email to