From d75fb40585339549ad6b332573525662dfcd5f12 Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Fri, 21 Aug 2015 11:18:10 -0700 Subject: [PATCH] =?UTF-8?q?Don=E2=80=99t=20flash=20a=20message=20while=20f?= =?UTF-8?q?itness=20data=20is=20loading?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/fitness/lib/feed.dart | 2 ++ examples/fitness/lib/main.dart | 2 +- packages/flutter/lib/widgets/framework.dart | 14 +++++++++----- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/examples/fitness/lib/feed.dart b/examples/fitness/lib/feed.dart index d9ae7361836..6f149fd1dcd 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 0755d56559e..339c7a88e27 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 e9720dfe87e..60df57c2b11 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) { @@ -1146,7 +1150,7 @@ abstract class MultiChildRenderObjectWrapper extends RenderObjectWrapper { syncChild(null, oldChild, null); } oldChildrenBottom -= 1; - } + } } // middle of the lists - new list