diff --git a/packages/flutter/lib/src/widgets/framework.dart b/packages/flutter/lib/src/widgets/framework.dart index 6bedd794c5..86ee355f5f 100644 --- a/packages/flutter/lib/src/widgets/framework.dart +++ b/packages/flutter/lib/src/widgets/framework.dart @@ -1176,8 +1176,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); }