Fix exitspawn (autoexit option)

Fix other situations affected by this options
This commit is contained in:
Nekotekina 2017-11-24 11:00:47 +03:00
parent 2ac773385f
commit f7803927d9
6 changed files with 21 additions and 10 deletions

View file

@ -292,6 +292,7 @@ void _sys_process_exit2(ppu_thread& ppu, s32 status, vm::ptr<sys_exit2_param> ar
Emu.CallAfter([path = std::move(path), argv = std::move(argv), envp = std::move(envp), data = std::move(data), disc = vfs::get("/dev_bdvd/"), klic = fxm::get_always<LoadedNpdrmKeys_t>()->devKlic]() mutable
{
sys_process.success("Process finished -> %s", argv[0]);
Emu.SetForceBoot(true);
Emu.Stop();
Emu.argv = std::move(argv);
Emu.envp = std::move(envp);
@ -303,12 +304,8 @@ void _sys_process_exit2(ppu_thread& ppu, s32 status, vm::ptr<sys_exit2_param> ar
Emu.klic.assign(klic.begin(), klic.end());
}
Emu.SetForceBoot(true);
Emu.BootGame(path, true);
if (Emu.IsReady() && !g_cfg.misc.autostart)
{
Emu.Run();
}
});
thread_ctrl::eternalize();