diff options
author | tfarley <tfarleygithub@gmail.com> | 2015-05-18 21:24:43 -0700 |
---|---|---|
committer | tfarley <tfarleygithub@gmail.com> | 2015-05-22 15:51:33 -0700 |
commit | 16fbba3c2a21bf92e9dd6d17c89da9bccf339691 (patch) | |
tree | 3950e0267cc2cb1f624d0db3647cffacf4692307 | |
parent | 05dc633a8c35221ce8d6abe6ddf027f8b0bab6c2 (diff) |
MakeCurrent race condition fix
-rw-r--r-- | src/citra_qt/bootmanager.cpp | 4 | ||||
-rw-r--r-- | src/citra_qt/main.cpp | 1 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/citra_qt/bootmanager.cpp b/src/citra_qt/bootmanager.cpp index ab9403007e..ea46bb1daa 100644 --- a/src/citra_qt/bootmanager.cpp +++ b/src/citra_qt/bootmanager.cpp @@ -28,11 +28,11 @@ EmuThread::EmuThread(GRenderWindow* render_window) : exec_step(false), running(false), stop_run(false), render_window(render_window) { - - connect(this, SIGNAL(started()), render_window, SLOT(moveContext())); } void EmuThread::run() { + render_window->MakeCurrent(); + stop_run = false; // holds whether the cpu was running during the last iteration, diff --git a/src/citra_qt/main.cpp b/src/citra_qt/main.cpp index 2ea33ebc59..f6010459a2 100644 --- a/src/citra_qt/main.cpp +++ b/src/citra_qt/main.cpp @@ -216,6 +216,7 @@ void GMainWindow::BootGame(std::string filename) { // Create and start the emulation thread emu_thread = Common::make_unique<EmuThread>(render_window); emit EmulationStarting(emu_thread.get()); + render_window->moveContext(); emu_thread->start(); // BlockingQueuedConnection is important here, it makes sure we've finished refreshing our views before the CPU continues |