forked from Mirror/Ryujinx
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.
This commit is contained in:
parent
0954e76a26
commit
8506b7a334
2 changed files with 5 additions and 2 deletions
|
@ -10,6 +10,7 @@ namespace Ryujinx.HLE.HOS
|
||||||
public int PreviousIndex { get; private set; }
|
public int PreviousIndex { get; private set; }
|
||||||
public int Index { get; private set; }
|
public int Index { get; private set; }
|
||||||
public ProgramSpecifyKind Kind { get; private set; }
|
public ProgramSpecifyKind Kind { get; private set; }
|
||||||
|
public bool ShouldRestart { get; set; }
|
||||||
|
|
||||||
public UserChannelPersistence()
|
public UserChannelPersistence()
|
||||||
{
|
{
|
||||||
|
@ -42,6 +43,7 @@ namespace Ryujinx.HLE.HOS
|
||||||
{
|
{
|
||||||
Kind = kind;
|
Kind = kind;
|
||||||
PreviousIndex = Index;
|
PreviousIndex = Index;
|
||||||
|
ShouldRestart = true;
|
||||||
|
|
||||||
switch (kind)
|
switch (kind)
|
||||||
{
|
{
|
||||||
|
|
|
@ -975,9 +975,10 @@ namespace Ryujinx.Ui
|
||||||
|
|
||||||
private void HandleRelaunch()
|
private void HandleRelaunch()
|
||||||
{
|
{
|
||||||
// If the previous index isn't -1, that mean we are relaunching.
|
if (_userChannelPersistence.PreviousIndex != -1 && _userChannelPersistence.ShouldRestart)
|
||||||
if (_userChannelPersistence.PreviousIndex != -1)
|
|
||||||
{
|
{
|
||||||
|
_userChannelPersistence.ShouldRestart = false;
|
||||||
|
|
||||||
LoadApplication(_gamePath);
|
LoadApplication(_gamePath);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Reference in a new issue