Commit a61f0f50 authored by Hans Muller's avatar Hans Muller

RenderObject.flushLayout should loop until _nodesNeedingLayout is empty

parent 9a493c15
......@@ -407,12 +407,15 @@ abstract class RenderObject extends AbstractNode implements HitTestTarget {
sky.tracing.begin('RenderObject.flushLayout');
_debugDoingLayout = true;
try {
// TODO(ianh): assert that we're not allowing previously dirty nodes to redirty themeselves
while(_nodesNeedingLayout.isNotEmpty) {
List<RenderObject> dirtyNodes = _nodesNeedingLayout;
_nodesNeedingLayout = new List<RenderObject>();
dirtyNodes..sort((a, b) => a.depth - b.depth)..forEach((node) {
if (node._needsLayout && node.attached)
node.layoutWithoutResize();
});
}
} finally {
_debugDoingLayout = false;
sky.tracing.end('RenderObject.flushLayout');
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment