aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Ryujinx.Ava/UI/Windows/MainWindow.axaml.cs38
1 files changed, 26 insertions, 12 deletions
diff --git a/src/Ryujinx.Ava/UI/Windows/MainWindow.axaml.cs b/src/Ryujinx.Ava/UI/Windows/MainWindow.axaml.cs
index 3596c9aa..c78f4160 100644
--- a/src/Ryujinx.Ava/UI/Windows/MainWindow.axaml.cs
+++ b/src/Ryujinx.Ava/UI/Windows/MainWindow.axaml.cs
@@ -265,32 +265,46 @@ namespace Ryujinx.Ava.UI.Windows
private void CheckLaunchState()
{
- if (ShowKeyErrorOnLoad)
- {
- ShowKeyErrorOnLoad = false;
-
- UserErrorDialog.ShowUserErrorDialog(UserError.NoKeys).Wait();
- }
-
if (OperatingSystem.IsLinux() && LinuxHelper.VmMaxMapCount < LinuxHelper.RecommendedVmMaxMapCount)
{
Logger.Warning?.Print(LogClass.Application, $"The value of vm.max_map_count is lower than {LinuxHelper.RecommendedVmMaxMapCount}. ({LinuxHelper.VmMaxMapCount})");
if (LinuxHelper.PkExecPath is not null)
{
- ShowVmMaxMapCountDialog().Wait();
+ Dispatcher.UIThread.Post(async () =>
+ {
+ if (OperatingSystem.IsLinux())
+ {
+ await ShowVmMaxMapCountDialog();
+ }
+ });
}
else
{
- ShowVmMaxMapCountWarning().Wait();
+ Dispatcher.UIThread.Post(async () =>
+ {
+ if (OperatingSystem.IsLinux())
+ {
+ await ShowVmMaxMapCountWarning();
+ }
+ });
}
}
- if (_deferLoad)
+ if (!ShowKeyErrorOnLoad)
+ {
+ if (_deferLoad)
+ {
+ _deferLoad = false;
+
+ ViewModel.LoadApplication(_launchPath, _startFullscreen).Wait();
+ }
+ }
+ else
{
- _deferLoad = false;
+ ShowKeyErrorOnLoad = false;
- ViewModel.LoadApplication(_launchPath, _startFullscreen).Wait();
+ Dispatcher.UIThread.Post(async () => await UserErrorDialog.ShowUserErrorDialog(UserError.NoKeys));
}
if (ConfigurationState.Instance.CheckUpdatesOnStart.Value && Updater.CanUpdate(false))