not accept dialog show when desktop page dispose

Signed-off-by: 21pages <pages21@163.com>
This commit is contained in:
21pages
2023-06-08 16:18:21 +08:00
parent 150be1133a
commit 52733654c3
4 changed files with 9 additions and 4 deletions

View File

@@ -600,12 +600,16 @@ class OverlayDialogManager {
int _tagCount = 0;
OverlayEntry? _mobileActionsOverlayEntry;
bool _stop = false;
void setOverlayState(OverlayKeyState overlayKeyState) {
_overlayKeyState = overlayKeyState;
}
void dismissAll() {
void dismissAll({bool? stop}) {
if (stop != null) {
_stop = stop;
}
_dialogs.forEach((key, value) {
value.complete(null);
BackButtonInterceptor.removeByName(key);
@@ -625,6 +629,7 @@ class OverlayDialogManager {
String? tag,
bool useAnimation = true,
bool forceGlobal = false}) {
if (_stop) return Future(() => null);
final overlayState =
forceGlobal ? globalKey.currentState?.overlay : _overlayKeyState.state;