Explorar el Código

ava: Fix exit dialog while guest is running. (#5207)

* ava: Fix exit dialog while guest is running.

There is currently an issue while a game runs, the content dialog creation method check if `IsGameRunning` is true to show the popup.
But the condition here is wrong (`window` is null) so it throw a NullException silently in `Dispatcher.UIThread`.
This is now fixed by using the right casting.

* improve condition

* Fix spacing
Ac_K hace 2 años
padre
commit
c545c59851

+ 1 - 1
src/Ryujinx.Ava/UI/Helpers/ContentDialogHelper.cs

@@ -318,7 +318,7 @@ namespace Ryujinx.Ava.UI.Helpers
 
             Window parent = GetMainWindow();
 
-            if (parent is { IsActive: true } and MainWindow window && window.ViewModel.IsGameRunning)
+            if (parent != null && parent.IsActive && (parent as MainWindow).ViewModel.IsGameRunning)
             {
                 contentDialogOverlayWindow = new()
                 {

+ 8 - 8
src/Ryujinx.Ava/UI/Windows/MainWindow.axaml.cs

@@ -519,14 +519,14 @@ namespace Ryujinx.Ava.UI.Windows
         private void ConfirmExit()
         {
             Dispatcher.UIThread.InvokeAsync(async () =>
-           {
-               ViewModel.IsClosing = await ContentDialogHelper.CreateExitDialog();
-
-               if (ViewModel.IsClosing)
-               {
-                   Close();
-               }
-           });
+            {
+                ViewModel.IsClosing = await ContentDialogHelper.CreateExitDialog();
+
+                if (ViewModel.IsClosing)
+                {
+                    Close();
+                }
+            });
         }
 
         public async void LoadApplications()