Sfoglia il codice sorgente

UI: Reset RPC state when AppHost stops

Evan Husted 1 anno fa
parent
commit
2facad4be3

+ 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)
         {
             if (Encoding.UTF8.GetByteCount(input) <= ApplicationByteLimit)

+ 5 - 3
src/Ryujinx/AppHost.cs

@@ -498,6 +498,7 @@ namespace Ryujinx.Ava
         public void Stop()
         {
             _isActive = false;
+            DiscordIntegrationModule.SwitchToMainState();
         }
 
         private void Exit()
@@ -511,6 +512,7 @@ namespace Ryujinx.Ava
 
             _isStopped = true;
             _isActive = false;
+            DiscordIntegrationModule.SwitchToMainState();
         }
 
         public void DisposeContext()
@@ -962,10 +964,10 @@ namespace Ryujinx.Ava
             {
                 if (_viewModel.StartGamesInFullscreen)
                 {
-                    _viewModel.WindowState = WindowState.FullScreen;
+                    _viewModel.WindowState = MainWindow.FullScreenWindowState;
                 }
 
-                if (_viewModel.WindowState == WindowState.FullScreen)
+                if (_viewModel.WindowState == MainWindow.FullScreenWindowState)
                 {
                     _viewModel.ShowMenuAndStatusBar = false;
                 }
@@ -1136,7 +1138,7 @@ namespace Ryujinx.Ava
 
                 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();
                     }