Просмотр исходного кода

UI: Reset RPC state when AppHost stops

Evan Husted 1 год назад
Родитель
Сommit
2facad4be3
2 измененных файлов с 7 добавлено и 3 удалено
  1. 2 0
      src/Ryujinx.UI.Common/DiscordIntegrationModule.cs
  2. 5 3
      src/Ryujinx/AppHost.cs

+ 2 - 0
src/Ryujinx.UI.Common/DiscordIntegrationModule.cs

@@ -86,6 +86,8 @@ namespace Ryujinx.UI.Common
             });
             });
         }
         }
 
 
+        public static void SwitchToMainState() => _discordClient?.SetPresence(_discordPresenceMain);
+
         private static string TruncateToByteLength(string input)
         private static string TruncateToByteLength(string input)
         {
         {
             if (Encoding.UTF8.GetByteCount(input) <= ApplicationByteLimit)
             if (Encoding.UTF8.GetByteCount(input) <= ApplicationByteLimit)

+ 5 - 3
src/Ryujinx/AppHost.cs

@@ -498,6 +498,7 @@ namespace Ryujinx.Ava
         public void Stop()
         public void Stop()
         {
         {
             _isActive = false;
             _isActive = false;
+            DiscordIntegrationModule.SwitchToMainState();
         }
         }
 
 
         private void Exit()
         private void Exit()
@@ -511,6 +512,7 @@ namespace Ryujinx.Ava
 
 
             _isStopped = true;
             _isStopped = true;
             _isActive = false;
             _isActive = false;
+            DiscordIntegrationModule.SwitchToMainState();
         }
         }
 
 
         public void DisposeContext()
         public void DisposeContext()
@@ -962,10 +964,10 @@ namespace Ryujinx.Ava
             {
             {
                 if (_viewModel.StartGamesInFullscreen)
                 if (_viewModel.StartGamesInFullscreen)
                 {
                 {
-                    _viewModel.WindowState = WindowState.FullScreen;
+                    _viewModel.WindowState = MainWindow.FullScreenWindowState;
                 }
                 }
 
 
-                if (_viewModel.WindowState == WindowState.FullScreen)
+                if (_viewModel.WindowState == MainWindow.FullScreenWindowState)
                 {
                 {
                     _viewModel.ShowMenuAndStatusBar = false;
                     _viewModel.ShowMenuAndStatusBar = false;
                 }
                 }
@@ -1136,7 +1138,7 @@ namespace Ryujinx.Ava
 
 
                 Dispatcher.UIThread.Post(() =>
                 Dispatcher.UIThread.Post(() =>
                 {
                 {
-                    if (_keyboardInterface.GetKeyboardStateSnapshot().IsPressed(Key.Delete) && _viewModel.WindowState != WindowState.FullScreen)
+                    if (_keyboardInterface.GetKeyboardStateSnapshot().IsPressed(Key.Delete) && _viewModel.WindowState != MainWindow.FullScreenWindowState)
                     {
                     {
                         Device.Processes.ActiveApplication.DiskCacheLoadState?.Cancel();
                         Device.Processes.ActiveApplication.DiskCacheLoadState?.Cancel();
                     }
                     }