diff --git a/lib/screens/auth_screen.dart b/lib/screens/auth_screen.dart index 814e2693..e9fcba27 100644 --- a/lib/screens/auth_screen.dart +++ b/lib/screens/auth_screen.dart @@ -118,6 +118,7 @@ class _AuthScreenState extends State { Navigator.pushReplacement(context, fadeRoute(MainScreen(client: result.firstClient!))); } catch (e) { appLogger.e('Failed to connect to servers', error: e); + if (!mounted) return; setState(() { _isAuthenticating = false; _errorMessage = t.serverSelection.failedToLoadServers(error: e); diff --git a/lib/screens/discover_screen.dart b/lib/screens/discover_screen.dart index 0c901da9..7f841353 100644 --- a/lib/screens/discover_screen.dart +++ b/lib/screens/discover_screen.dart @@ -570,6 +570,7 @@ class _DiscoverScreenState extends State appLogger.d('Discover content loaded successfully'); } catch (e) { appLogger.e('Failed to load discover content', error: e); + if (!mounted) return; setState(() { _errorMessage = 'Failed to load content: $e'; _isLoading = false; diff --git a/lib/screens/libraries/libraries_screen.dart b/lib/screens/libraries/libraries_screen.dart index a156a2da..da8fd03b 100644 --- a/lib/screens/libraries/libraries_screen.dart +++ b/lib/screens/libraries/libraries_screen.dart @@ -132,6 +132,7 @@ class _LibrariesScreenState extends State // Initialize with libraries from the provider WidgetsBinding.instance.addPostFrameCallback((_) { + if (!mounted) return; _initializeWithLibraries(); }); }