From 8b538540f4b6193a39e26e5b36bbeb3456dd318e Mon Sep 17 00:00:00 2001 From: Hixie Date: Tue, 15 Sep 2015 13:51:24 -0700 Subject: [PATCH] Clarify why we don't assert that ancestor != null. Follow-up for #1140. --- packages/flutter/lib/src/widgets/framework.dart | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/flutter/lib/src/widgets/framework.dart b/packages/flutter/lib/src/widgets/framework.dart index a5786d54b2..590673afd0 100644 --- a/packages/flutter/lib/src/widgets/framework.dart +++ b/packages/flutter/lib/src/widgets/framework.dart @@ -1171,8 +1171,13 @@ abstract class RenderObjectWrapper extends Widget { assert(() { if (current is ParentDataNode) { Widget ancestor = current.parent; - while (ancestor != null && ancestor is Component) + while (ancestor is Component) ancestor = ancestor.parent; + // ancestor might be null in two cases: + // - asking for the ancestor of a Widget that has no non-Component + // ancestors between itself and its AbstractWidgetRoot ancestor + // - if the node is just being synced to get its intrinsic + // dimensions, as e.g. MixedViewport does. if (ancestor != null) current.debugValidateAncestor(ancestor); }