From c545c598512f57de2d178f78095f8bc7b31f07c3 Mon Sep 17 00:00:00 2001 From: Ac_K <Acoustik666@gmail.com> Date: Sat, 3 Jun 2023 05:37:00 +0200 Subject: 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 --- src/Ryujinx.Ava/UI/Helpers/ContentDialogHelper.cs | 2 +- src/Ryujinx.Ava/UI/Windows/MainWindow.axaml.cs | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/Ryujinx.Ava/UI/Helpers/ContentDialogHelper.cs b/src/Ryujinx.Ava/UI/Helpers/ContentDialogHelper.cs index d85895fc..045d508c 100644 --- a/src/Ryujinx.Ava/UI/Helpers/ContentDialogHelper.cs +++ b/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() { diff --git a/src/Ryujinx.Ava/UI/Windows/MainWindow.axaml.cs b/src/Ryujinx.Ava/UI/Windows/MainWindow.axaml.cs index cf84807e..66988c4b 100644 --- a/src/Ryujinx.Ava/UI/Windows/MainWindow.axaml.cs +++ b/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() -- cgit v1.2.3-70-g09d2