Chromium Code Reviews| Index: sky/sdk/lib/framework/rendering/box.dart |
| diff --git a/sky/sdk/lib/framework/rendering/box.dart b/sky/sdk/lib/framework/rendering/box.dart |
| index b3ee6cddf6301afcd9e11f8c81bb8c84460ba568..a749a33379b567baa1cac0e04f874733946ef80c 100644 |
| --- a/sky/sdk/lib/framework/rendering/box.dart |
| +++ b/sky/sdk/lib/framework/rendering/box.dart |
| @@ -4,6 +4,7 @@ |
| import 'node.dart'; |
| import 'dart:sky' as sky; |
| +import 'dart:math' as math; |
| // GENERIC BOX RENDERING |
| // Anything that has a concept of x, y, width, height is going to derive from this |
| @@ -40,11 +41,13 @@ class BoxConstraints { |
| BoxConstraints deflate(EdgeDims edges) { |
| assert(edges != null); |
| + var horizontal = edges.left + edges.right; |
| + var vertical = edges.top + edges.bottom; |
|
abarth-chromium
2015/06/03 17:22:33
s/var/double/
|
| return new BoxConstraints( |
| - minWidth: minWidth, |
| - maxWidth: maxWidth - (edges.left + edges.right), |
| - minHeight: minHeight, |
| - maxHeight: maxHeight - (edges.top + edges.bottom) |
| + minWidth: math.min(0.0, minWidth - horizontal), |
| + maxWidth: maxWidth - horizontal, |
| + minHeight: math.min(0.0, minHeight - vertical), |
| + maxHeight: maxHeight - vertical |
| ); |
| } |
| @@ -171,7 +174,8 @@ class RenderSizedBox extends RenderProxyBox { |
| void performLayout() { |
| size = constraints.constrain(_desiredSize); |
| - child.layout(new BoxConstraints.tight(size)); |
| + if (child != null) |
| + child.layout(new BoxConstraints.tight(size)); |
| } |
| } |