Attempt to fix Emu.Quit()

There was some kind of "initialization order fiasco" of g_fxo.
Not only should it be used after main, but also destroyed before exit.
This commit is contained in:
Nekotekina 2020-11-21 17:23:28 +03:00
parent 71f1021648
commit e89a568765
2 changed files with 4 additions and 0 deletions

View File

@ -1971,6 +1971,9 @@ bool Emulator::Quit(bool force_quit)
m_force_boot = false;
Emu.Stop();
// Deinitialize object manager to prevent any hanging objects at program exit
*g_fxo = {};
return GetCallbacks().exit(force_quit);
}

View File

@ -101,6 +101,7 @@ namespace stx
std::swap(m_list, x.m_list);
std::swap(m_order, x.m_order);
std::swap(m_init_count, x.m_init_count);
return *this;
}
~manual_fixed_typemap()