citra-qt: Move system shutdown to run inside EmuThread

This stops (for some reason sporadic) crashes and OpenGL errors during
shutdown, when the OpenGL renderer tries to clean up objects from the
UI thread, which has no OpenGL context active.
master
Yuri Kunde Schlesner 2015-08-30 08:47:50 +07:00
parent cc19a76656
commit cd817be922
2 changed files with 3 additions and 3 deletions

@ -72,6 +72,9 @@ void EmuThread::run() {
} }
} }
// Shutdown the core emulation
System::Shutdown();
MicroProfileOnThreadExit(); MicroProfileOnThreadExit();
render_window->moveContext(); render_window->moveContext();

@ -283,9 +283,6 @@ void GMainWindow::ShutdownGame() {
emu_thread->wait(); emu_thread->wait();
emu_thread = nullptr; emu_thread = nullptr;
// Shutdown the core emulation
System::Shutdown();
// Update the GUI // Update the GUI
ui.action_Start->setEnabled(false); ui.action_Start->setEnabled(false);
ui.action_Start->setText(tr("Start")); ui.action_Start->setText(tr("Start"));