| Index: sky/sdk/lib/framework/layout2.dart
|
| diff --git a/sky/sdk/lib/framework/layout2.dart b/sky/sdk/lib/framework/layout2.dart
|
| index 967ea8e79fa01063af57090b1aa22fd2b3df0f7d..f0f834fb36a1cac9b35d50073d5d0a29322f3bed 100644
|
| --- a/sky/sdk/lib/framework/layout2.dart
|
| +++ b/sky/sdk/lib/framework/layout2.dart
|
| @@ -716,16 +716,15 @@ class RenderBlock extends RenderDecoratedBox with ContainerRenderNodeMixin<Rende
|
| height: constraints.constrainHeight(outerHeight));
|
| }
|
|
|
| - double _minHeight; // value cached from parent for relayout call
|
| - double _maxHeight; // value cached from parent for relayout call
|
| + BoxConstraints _constraints; // value cached from parent for relayout call
|
| void layout(BoxConstraints constraints, { RenderNode relayoutSubtreeRoot }) {
|
| if (relayoutSubtreeRoot != null)
|
| saveRelayoutSubtreeRoot(relayoutSubtreeRoot);
|
| - relayoutSubtreeRoot = relayoutSubtreeRoot == null ? this : relayoutSubtreeRoot;
|
| + else
|
| + relayoutSubtreeRoot = this;
|
| width = constraints.constrainWidth(constraints.maxWidth);
|
| assert(width < double.INFINITY);
|
| - _minHeight = constraints.minHeight;
|
| - _maxHeight = constraints.maxHeight;
|
| + _constraints = constraints;
|
| internalLayout(relayoutSubtreeRoot);
|
| }
|
|
|
| @@ -734,8 +733,7 @@ class RenderBlock extends RenderDecoratedBox with ContainerRenderNodeMixin<Rende
|
| }
|
|
|
| void internalLayout(RenderNode relayoutSubtreeRoot) {
|
| - assert(_minHeight != null);
|
| - assert(_maxHeight != null);
|
| + assert(_constraints != null);
|
| double y = _padding.top;
|
| double innerWidth = width - (_padding.left + _padding.right);
|
| RenderBox child = firstChild;
|
| @@ -748,7 +746,7 @@ class RenderBlock extends RenderDecoratedBox with ContainerRenderNodeMixin<Rende
|
| y += child.height;
|
| child = child.parentData.nextSibling;
|
| }
|
| - height = clamp(min: _minHeight, value: y + _padding.bottom, max: _maxHeight);
|
| + height = _constraints.constrainHeight(y + _padding.bottom);
|
| layoutDone();
|
| }
|
|
|
| @@ -803,7 +801,8 @@ class RenderFlex extends RenderDecoratedBox with ContainerRenderNodeMixin<Render
|
| void layout(BoxConstraints constraints, { RenderNode relayoutSubtreeRoot }) {
|
| if (relayoutSubtreeRoot != null)
|
| saveRelayoutSubtreeRoot(relayoutSubtreeRoot);
|
| - relayoutSubtreeRoot = relayoutSubtreeRoot == null ? this : relayoutSubtreeRoot;
|
| + else
|
| + relayoutSubtreeRoot = this;
|
| _constraints = constraints;
|
| width = _constraints.constrainWidth(_constraints.maxWidth);
|
| height = _constraints.constrainHeight(_constraints.maxHeight);
|
|
|