Răsfoiți Sursa

Fix exiting emulator with multi programs (#1590)

THis fix a bug introduced in #1560 that would cause "Stop emulation" to
actually restart the game all the time.
Mary 5 ani în urmă
părinte
comite
8506b7a334
2 a modificat fișierele cu 5 adăugiri și 2 ștergeri
  1. 2 0
      Ryujinx.HLE/HOS/UserChannelPersistence.cs
  2. 3 2
      Ryujinx/Ui/MainWindow.cs

+ 2 - 0
Ryujinx.HLE/HOS/UserChannelPersistence.cs

@@ -10,6 +10,7 @@ namespace Ryujinx.HLE.HOS
         public int PreviousIndex { get; private set; }
         public int Index { get; private set; }
         public ProgramSpecifyKind Kind { get; private set; }
+        public bool ShouldRestart { get; set; }
 
         public UserChannelPersistence()
         {
@@ -42,6 +43,7 @@ namespace Ryujinx.HLE.HOS
         {
             Kind = kind;
             PreviousIndex = Index;
+            ShouldRestart = true;
 
             switch (kind)
             {

+ 3 - 2
Ryujinx/Ui/MainWindow.cs

@@ -975,9 +975,10 @@ namespace Ryujinx.Ui
 
         private void HandleRelaunch()
         {
-            // If the previous index isn't -1, that mean we are relaunching.
-            if (_userChannelPersistence.PreviousIndex != -1)
+            if (_userChannelPersistence.PreviousIndex != -1 && _userChannelPersistence.ShouldRestart)
             {
+                _userChannelPersistence.ShouldRestart = false;
+
                 LoadApplication(_gamePath);
             }
             else