Skip to content

Commit c9f70e9

Browse files
authored
_SearchBarState should dispose FocusNode, if it created it. (#133947)
1 parent 7cdf314 commit c9f70e9

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1179,6 +1179,9 @@ class _SearchBarState extends State<SearchBar> {
11791179
@override
11801180
void dispose() {
11811181
_internalStatesController.dispose();
1182+
if (widget.focusNode == null) {
1183+
_focusNode.dispose();
1184+
}
11821185
super.dispose();
11831186
}
11841187

packages/flutter/test/material/search_anchor_test.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@ import 'dart:ui';
66

77
import 'package:flutter/material.dart';
88
import 'package:flutter_test/flutter_test.dart';
9+
import 'package:leak_tracker_flutter_testing/leak_tracker_flutter_testing.dart';
910

1011
void main() {
11-
testWidgets('SearchBar defaults', (WidgetTester tester) async {
12+
testWidgetsWithLeakTracking('SearchBar defaults', (WidgetTester tester) async {
1213
final ThemeData theme = ThemeData(useMaterial3: true);
1314
final ColorScheme colorScheme = theme.colorScheme;
1415

0 commit comments

Comments
 (0)