diff --git a/lib/dialog/new_download_task_page.dart b/lib/dialog/new_download_task_page.dart index 6b72395..807743f 100644 --- a/lib/dialog/new_download_task_page.dart +++ b/lib/dialog/new_download_task_page.dart @@ -112,7 +112,9 @@ class _NewDownloadTaskPage extends State { Widget build(BuildContext context) { tryInitApi(context); if (_ok) { - context.canPop() ? context.pop() : context.go("/task_manager"); + WidgetsBinding.instance!.addPostFrameCallback((_) { + context.canPop() ? context.pop() : context.go("/task_manager"); + }); } if (!_fetched) fetchDefaultCfg(); final i18n = AppLocalizations.of(context)!; diff --git a/lib/dialog/new_export_zip_task_page.dart b/lib/dialog/new_export_zip_task_page.dart index 0b1892e..f751872 100644 --- a/lib/dialog/new_export_zip_task_page.dart +++ b/lib/dialog/new_export_zip_task_page.dart @@ -96,7 +96,9 @@ class _NewExportZipTaskPage extends State { Widget build(BuildContext context) { tryInitApi(context); if (_ok) { - context.canPop() ? context.pop() : context.go("/task_manager"); + WidgetsBinding.instance!.addPostFrameCallback((_) { + context.canPop() ? context.pop() : context.go("/task_manager"); + }); } if (!_fetched) fetchDefaultCfg(); final i18n = AppLocalizations.of(context)!; diff --git a/lib/dialog/new_user_page.dart b/lib/dialog/new_user_page.dart index 1687ba5..d8ae1ec 100644 --- a/lib/dialog/new_user_page.dart +++ b/lib/dialog/new_user_page.dart @@ -84,7 +84,9 @@ class _NewUserPage extends State { return Container(); } if (_newUserId != null) { - context.canPop() ? context.pop() : context.go("/users"); + SchedulerBinding.instance.addPostFrameCallback((_) { + context.canPop() ? context.pop() : context.go("/users"); + }); return Container(); } final i18n = AppLocalizations.of(context)!; diff --git a/lib/pages/login.dart b/lib/pages/login.dart index 7f3aae3..db9575e 100644 --- a/lib/pages/login.dart +++ b/lib/pages/login.dart @@ -121,7 +121,9 @@ class _LoginPageState extends State tryInitApi(context); _checkStatus(context); if (isTop(context) && auth.user != null) { - context.canPop() ? context.pop() : context.go("/"); + SchedulerBinding.instance.addPostFrameCallback((_) { + context.canPop() ? context.pop() : context.go("/"); + }); } return Scaffold( appBar: AppBar(