Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 672c703

Browse files
committed
feedback
1 parent c80c270 commit 672c703

File tree

12 files changed

+17
-29
lines changed

12 files changed

+17
-29
lines changed

examples/api/lib/widgets/overlay/overlay.0.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ class _OverlayExampleState extends State<OverlayExample> {
132132
);
133133

134134
// Add the OverlayEntry to the Overlay.
135-
Overlay.of(context)!.insert(overlayEntry!);
135+
Overlay.of(context, debugRequiredFor: widget)!.insert(overlayEntry!);
136136
}
137137

138138
// Remove the OverlayEntry.

packages/flutter/lib/src/cupertino/context_menu.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -363,7 +363,7 @@ class _CupertinoContextMenuState extends State<CupertinoContextMenu> with Ticker
363363
);
364364
},
365365
);
366-
Overlay.of(context, rootOverlay: true)!.insert(_lastOverlayEntry!);
366+
Overlay.of(context, rootOverlay: true, debugRequiredFor: widget)!.insert(_lastOverlayEntry!);
367367
_openController.forward();
368368
}
369369

packages/flutter/lib/src/material/bottom_navigation_bar.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1004,7 +1004,7 @@ class _BottomNavigationBarState extends State<BottomNavigationBar> with TickerPr
10041004
assert(debugCheckHasDirectionality(context));
10051005
assert(debugCheckHasMaterialLocalizations(context));
10061006
assert(debugCheckHasMediaQuery(context));
1007-
assert(Overlay.of(context, debugRequiredFor: widget) != null);
1007+
assert(debugCheckHasOverlay(context));
10081008

10091009
final BottomNavigationBarThemeData bottomTheme = BottomNavigationBarTheme.of(context);
10101010
final BottomNavigationBarLandscapeLayout layout = widget.landscapeLayout

packages/flutter/lib/src/material/range_slider.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -655,7 +655,7 @@ class _RangeSliderState extends State<RangeSlider> with TickerProviderStateMixin
655655
);
656656
},
657657
);
658-
Overlay.of(context)!.insert(overlayEntry!);
658+
Overlay.of(context, debugRequiredFor: widget)!.insert(overlayEntry!);
659659
}
660660
}
661661
}

packages/flutter/lib/src/material/slider.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -842,7 +842,7 @@ class _SliderState extends State<Slider> with TickerProviderStateMixin {
842842
);
843843
},
844844
);
845-
Overlay.of(context)!.insert(overlayEntry!);
845+
Overlay.of(context, debugRequiredFor: widget)!.insert(overlayEntry!);
846846
}
847847
}
848848
}

packages/flutter/lib/src/material/tooltip.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -698,7 +698,7 @@ class TooltipState extends State<Tooltip> with SingleTickerProviderStateMixin {
698698
if (_tooltipMessage.isEmpty) {
699699
return widget.child ?? const SizedBox();
700700
}
701-
assert(Overlay.of(context, debugRequiredFor: widget) != null);
701+
assert(debugCheckHasOverlay(context));
702702
final ThemeData theme = Theme.of(context);
703703
final TooltipThemeData tooltipTheme = TooltipTheme.of(context);
704704
final TextStyle defaultTextStyle;

packages/flutter/lib/src/widgets/autocomplete.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -432,7 +432,7 @@ class _RawAutocompleteState<T extends Object> extends State<RawAutocomplete<T>>
432432
);
433433
},
434434
);
435-
Overlay.of(context, rootOverlay: true)!.insert(newFloatingOptions);
435+
Overlay.of(context, rootOverlay: true, debugRequiredFor: widget)!.insert(newFloatingOptions);
436436
_floatingOptions = newFloatingOptions;
437437
} else {
438438
_floatingOptions = null;

packages/flutter/lib/src/widgets/drag_target.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import 'package:flutter/services.dart';
99

1010
import 'basic.dart';
1111
import 'binding.dart';
12+
import 'debug.dart';
1213
import 'framework.dart';
1314
import 'media_query.dart';
1415
import 'overlay.dart';
@@ -598,7 +599,7 @@ class _DraggableState<T extends Object> extends State<Draggable<T>> {
598599

599600
@override
600601
Widget build(BuildContext context) {
601-
assert(Overlay.of(context, debugRequiredFor: widget, rootOverlay: widget.rootOverlay) != null);
602+
assert(debugCheckHasOverlay(context));
602603
final bool canDrag = widget.maxSimultaneousDrags == null ||
603604
_activeCount < widget.maxSimultaneousDrags!;
604605
final bool showChild = _activeCount == 0 || widget.childWhenDragging == null;

packages/flutter/lib/src/widgets/reorderable_list.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -702,7 +702,7 @@ class SliverReorderableListState extends State<SliverReorderableList> with Ticke
702702
);
703703
_dragInfo!.startDrag();
704704

705-
final OverlayState overlay = Overlay.of(context)!;
705+
final OverlayState overlay = Overlay.of(context, debugRequiredFor: widget)!;
706706
assert(_overlayEntry == null);
707707
_overlayEntry = OverlayEntry(builder: _dragInfo!.createProxy);
708708
overlay.insert(_overlayEntry!);
@@ -897,7 +897,7 @@ class SliverReorderableListState extends State<SliverReorderableList> with Ticke
897897
}
898898
final Widget child = widget.itemBuilder(context, index);
899899
assert(child.key != null, 'All list items must have a key');
900-
final OverlayState overlay = Overlay.of(context)!;
900+
final OverlayState overlay = Overlay.of(context, debugRequiredFor: widget)!;
901901
return _ReorderableItem(
902902
key: _ReorderableItemGlobalKey(child.key!, index, this),
903903
index: index,
@@ -1284,7 +1284,7 @@ class _DragInfo extends Drag {
12841284
}
12851285

12861286
Offset _overlayOrigin(BuildContext context) {
1287-
final OverlayState overlay = Overlay.of(context)!;
1287+
final OverlayState overlay = Overlay.of(context, debugRequiredFor: context.widget)!;
12881288
final RenderBox overlayBox = overlay.context.findRenderObject()! as RenderBox;
12891289
return overlayBox.localToGlobal(Offset.zero);
12901290
}

packages/flutter/lib/src/widgets/selectable_region.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import 'package:flutter/services.dart';
1212

1313
import 'actions.dart';
1414
import 'basic.dart';
15+
import 'debug.dart';
1516
import 'focus_manager.dart';
1617
import 'focus_scope.dart';
1718
import 'framework.dart';
@@ -804,7 +805,7 @@ class _SelectableRegionState extends State<SelectableRegion> with TextSelectionD
804805

805806
@override
806807
Widget build(BuildContext context) {
807-
assert(Overlay.of(context, debugRequiredFor: widget) != null);
808+
assert(debugCheckHasOverlay(context));
808809
return CompositedTransformTarget(
809810
link: _toolbarLayerLink,
810811
child: RawGestureDetector(

packages/flutter/lib/src/widgets/text_selection.dart

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import 'basic.dart';
1616
import 'binding.dart';
1717
import 'constants.dart';
1818
import 'container.dart';
19+
import 'debug.dart';
1920
import 'editable_text.dart';
2021
import 'framework.dart';
2122
import 'gesture_detector.dart';
@@ -617,22 +618,7 @@ class SelectionOverlay {
617618
_lineHeightAtEnd = lineHeightAtEnd,
618619
_selectionEndpoints = selectionEndpoints,
619620
_toolbarLocation = toolbarLocation,
620-
assert(() {
621-
final OverlayState? overlay = Overlay.of(context, rootOverlay: true);
622-
if (overlay == null) {
623-
final List<DiagnosticsNode> information = <DiagnosticsNode>[
624-
ErrorSummary('No Overlay widget found.'),
625-
ErrorDescription(
626-
'No Overlay widget exists above $context.\n'
627-
'Usually the Navigator created by WidgetsApp provides the overlay. Perhaps your '
628-
'app content was created above the Navigator with the WidgetsApp builder parameter.'
629-
),
630-
];
631-
632-
throw FlutterError.fromParts(information);
633-
}
634-
return true;
635-
}());
621+
assert(debugCheckHasOverlay(context));
636622

637623
/// The context in which the selection handles should appear.
638624
///

packages/flutter/test/widgets/selectable_text_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ void main() {
200200
final FlutterError error = tester.takeException() as FlutterError;
201201
expect(
202202
error.message,
203-
contains('No Overlay widget exists above EditableText'),
203+
contains('EditableText widgets require an Overlay widget ancestor'),
204204
);
205205

206206
await tester.pumpWidget(const SizedBox.shrink());

0 commit comments

Comments
 (0)