From 03b60ac75b8e64703c4454220c91cc2545ebd98f Mon Sep 17 00:00:00 2001 From: Polina Cherkasova Date: Wed, 6 Sep 2023 08:12:10 -0700 Subject: [PATCH] _DropdownMenuState should dispose TextEditingController. (#133914) --- packages/flutter/lib/src/material/dropdown_menu.dart | 3 +++ packages/flutter/test/material/dropdown_menu_theme_test.dart | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/flutter/lib/src/material/dropdown_menu.dart b/packages/flutter/lib/src/material/dropdown_menu.dart index 3beb00d3dda..ca439552ba0 100644 --- a/packages/flutter/lib/src/material/dropdown_menu.dart +++ b/packages/flutter/lib/src/material/dropdown_menu.dart @@ -541,6 +541,9 @@ class _DropdownMenuState extends State> { @override void dispose() { + if (widget.controller == null) { + _textEditingController.dispose(); + } super.dispose(); } diff --git a/packages/flutter/test/material/dropdown_menu_theme_test.dart b/packages/flutter/test/material/dropdown_menu_theme_test.dart index dabb572db82..f0c0f179623 100644 --- a/packages/flutter/test/material/dropdown_menu_theme_test.dart +++ b/packages/flutter/test/material/dropdown_menu_theme_test.dart @@ -100,7 +100,7 @@ void main() { expect(material.textStyle?.color, themeData.colorScheme.onSurface); }); - testWidgets('ThemeData.dropdownMenuTheme overrides defaults', (WidgetTester tester) async { + testWidgetsWithLeakTracking('ThemeData.dropdownMenuTheme overrides defaults', (WidgetTester tester) async { final ThemeData theme = ThemeData( dropdownMenuTheme: DropdownMenuThemeData( textStyle: TextStyle(