From 510233255f7a75b8f881754d5f60b2e0379272ff Mon Sep 17 00:00:00 2001
From: julian <julian@cypherstack.com>
Date: Wed, 9 Nov 2022 09:46:59 -0600
Subject: [PATCH] desktop swb restore fix

---
 .../restore_from_file_view.dart               | 76 ++++++++++---------
 1 file changed, 42 insertions(+), 34 deletions(-)

diff --git a/lib/pages/settings_views/global_settings_view/stack_backup_views/restore_from_file_view.dart b/lib/pages/settings_views/global_settings_view/stack_backup_views/restore_from_file_view.dart
index f7a9883de..014099abd 100644
--- a/lib/pages/settings_views/global_settings_view/stack_backup_views/restore_from_file_view.dart
+++ b/lib/pages/settings_views/global_settings_view/stack_backup_views/restore_from_file_view.dart
@@ -1,3 +1,4 @@
+import 'dart:async';
 import 'dart:io';
 
 import 'package:flutter/foundation.dart';
@@ -424,43 +425,47 @@ class _RestoreFromFileViewState extends ConsumerState<RestoreFromFileView> {
                                   }
 
                                   bool shouldPop = false;
-                                  await showDialog<dynamic>(
-                                    barrierDismissible: false,
-                                    context: context,
-                                    builder: (_) => WillPopScope(
-                                      onWillPop: () async {
-                                        return shouldPop;
-                                      },
-                                      child: Column(
-                                        crossAxisAlignment:
-                                            CrossAxisAlignment.stretch,
-                                        mainAxisAlignment:
-                                            MainAxisAlignment.center,
-                                        children: [
-                                          Material(
-                                            color: Colors.transparent,
-                                            child: Center(
-                                              child: Text(
-                                                "Decrypting Stack backup file",
-                                                style: STextStyles.pageTitleH2(
-                                                        context)
-                                                    .copyWith(
-                                                  color: Theme.of(context)
-                                                      .extension<StackColors>()!
-                                                      .textWhite,
+                                  unawaited(
+                                    showDialog<dynamic>(
+                                      barrierDismissible: false,
+                                      context: context,
+                                      builder: (_) => WillPopScope(
+                                        onWillPop: () async {
+                                          return shouldPop;
+                                        },
+                                        child: Column(
+                                          crossAxisAlignment:
+                                              CrossAxisAlignment.stretch,
+                                          mainAxisAlignment:
+                                              MainAxisAlignment.center,
+                                          children: [
+                                            Material(
+                                              color: Colors.transparent,
+                                              child: Center(
+                                                child: Text(
+                                                  "Decrypting Stack backup file",
+                                                  style:
+                                                      STextStyles.pageTitleH2(
+                                                              context)
+                                                          .copyWith(
+                                                    color: Theme.of(context)
+                                                        .extension<
+                                                            StackColors>()!
+                                                        .textWhite,
+                                                  ),
                                                 ),
                                               ),
                                             ),
-                                          ),
-                                          const SizedBox(
-                                            height: 64,
-                                          ),
-                                          const Center(
-                                            child: LoadingIndicator(
-                                              width: 100,
+                                            const SizedBox(
+                                              height: 64,
                                             ),
-                                          ),
-                                        ],
+                                            const Center(
+                                              child: LoadingIndicator(
+                                                width: 100,
+                                              ),
+                                            ),
+                                          ],
+                                        ),
                                       ),
                                     ),
                                   );
@@ -475,7 +480,10 @@ class _RestoreFromFileViewState extends ConsumerState<RestoreFromFileView> {
                                   if (mounted) {
                                     // pop LoadingIndicator
                                     shouldPop = true;
-                                    Navigator.of(context).pop();
+                                    Navigator.of(
+                                      context,
+                                      rootNavigator: true,
+                                    ).pop();
 
                                     passwordController.text = "";