diff --git a/packages/flutter/lib/src/rendering/sliver_list.dart b/packages/flutter/lib/src/rendering/sliver_list.dart index 34cbc3b5a92..8c5658e1006 100644 --- a/packages/flutter/lib/src/rendering/sliver_list.dart +++ b/packages/flutter/lib/src/rendering/sliver_list.dart @@ -239,7 +239,7 @@ class RenderSliverList extends RenderSliverMultiBoxAdaptor { if (child == null || indexOf(child!) != index) { // We are missing a child. Insert it (and lay it out) if possible. child = insertAndLayoutChild(childConstraints, - after: trailingChildWithLayout!, + after: trailingChildWithLayout, parentUsesSize: true, ); if (child == null) { diff --git a/packages/flutter/lib/src/rendering/sliver_multi_box_adaptor.dart b/packages/flutter/lib/src/rendering/sliver_multi_box_adaptor.dart index 79935282d38..99c8cd6e236 100644 --- a/packages/flutter/lib/src/rendering/sliver_multi_box_adaptor.dart +++ b/packages/flutter/lib/src/rendering/sliver_multi_box_adaptor.dart @@ -481,11 +481,12 @@ abstract class RenderSliverMultiBoxAdaptor extends RenderSliver @protected RenderBox? insertAndLayoutChild( BoxConstraints childConstraints, { - required RenderBox after, + required RenderBox? after, bool parentUsesSize = false, }) { assert(_debugAssertChildListLocked()); - final int index = indexOf(after) + 1; + assert(after != null); + final int index = indexOf(after!) + 1; _createOrObtainChild(index, after: after); final RenderBox? child = childAfter(after); if (child != null && indexOf(child) == index) {