From 010ace58fa2707ebc73ee97ed3275d793b2862d6 Mon Sep 17 00:00:00 2001 From: edde746 <86283021+edde746@users.noreply.github.com> Date: Mon, 6 Apr 2026 16:43:04 +0200 Subject: [PATCH] fix: dispose TextEditingControllers in settings dialogs --- lib/main.dart | 2 +- lib/screens/settings/settings_screen.dart | 5 ++++- lib/screens/settings/settings_utils.dart | 6 +++++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index 040b6767..58e311c9 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -397,7 +397,7 @@ class _MainAppState extends State with WidgetsBindingObserver { case AppLifecycleState.paused: case AppLifecycleState.detached: if (Platform.isAndroid || Platform.isIOS) { - _appDatabase.close(); + unawaited(_appDatabase.close()); } InAppReviewService.instance.endSession(); if (Platform.isWindows || Platform.isMacOS || Platform.isLinux) { diff --git a/lib/screens/settings/settings_screen.dart b/lib/screens/settings/settings_screen.dart index f9fc38e3..e8ae9b18 100644 --- a/lib/screens/settings/settings_screen.dart +++ b/lib/screens/settings/settings_screen.dart @@ -578,7 +578,10 @@ class _SettingsScreenState extends State with FocusableTab { ], ); }, - ).then((_) => saveFocusNode.dispose()); + ).then((_) { + controller.dispose(); + saveFocusNode.dispose(); + }); } void _showClearCacheDialog() { diff --git a/lib/screens/settings/settings_utils.dart b/lib/screens/settings/settings_utils.dart index 2d80b156..e0feb98b 100644 --- a/lib/screens/settings/settings_utils.dart +++ b/lib/screens/settings/settings_utils.dart @@ -220,6 +220,7 @@ void _showNumericInputDialogStandard({ ); }, ).then((_) { + controller.dispose(); saveFocusNode.dispose(); }); } @@ -286,5 +287,8 @@ void showTextInputDialog({ }, ); }, - ).then((_) => saveFocusNode.dispose()); + ).then((_) { + controller.dispose(); + saveFocusNode.dispose(); + }); }