diff --git a/examples/fitness/lib/feed.dart b/examples/fitness/lib/feed.dart index 06943f92454..ac7d09f018b 100644 --- a/examples/fitness/lib/feed.dart +++ b/examples/fitness/lib/feed.dart @@ -214,6 +214,8 @@ class FeedFragment extends StatefulComponent { Widget buildBody() { TextStyle style = Theme.of(this).text.title; + if (userData == null) + return new Material(type: MaterialType.canvas); if (userData.items.length == 0) return new Material( type: MaterialType.canvas, diff --git a/examples/fitness/lib/main.dart b/examples/fitness/lib/main.dart index e269113cb88..49e92356c1a 100644 --- a/examples/fitness/lib/main.dart +++ b/examples/fitness/lib/main.dart @@ -86,7 +86,7 @@ class UserDataImpl extends UserData { class FitnessApp extends App { NavigationState _navigationState; - UserDataImpl _userData = new UserDataImpl(); + UserDataImpl _userData; void didMount() { super.didMount(); diff --git a/packages/flutter/lib/widgets/framework.dart b/packages/flutter/lib/widgets/framework.dart index 424bfaa30ee..a234d1c35ec 100644 --- a/packages/flutter/lib/widgets/framework.dart +++ b/packages/flutter/lib/widgets/framework.dart @@ -425,10 +425,14 @@ abstract class TagNode extends Widget { void _sync(Widget old, dynamic slot) { Widget oldChild = old == null ? null : (old as TagNode).child; child = syncChild(child, oldChild, slot); - assert(child.parent == this); - assert(child.renderObject != null); - _renderObject = child.renderObject; - assert(_renderObject == renderObject); // in case a subclass reintroduces it + if (child != null) { + assert(child.parent == this); + assert(child.renderObject != null); + _renderObject = child.renderObject; + assert(_renderObject == renderObject); // in case a subclass reintroduces it + } else { + _renderObject = null; + } } void updateSlot(dynamic newSlot) {