summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar tfarley2015-05-18 21:24:43 -0700
committerGravatar tfarley2015-05-22 15:51:33 -0700
commit16fbba3c2a21bf92e9dd6d17c89da9bccf339691 (patch)
tree3950e0267cc2cb1f624d0db3647cffacf4692307 /src
parentOpenGL renderer (diff)
downloadyuzu-16fbba3c2a21bf92e9dd6d17c89da9bccf339691.tar.gz
yuzu-16fbba3c2a21bf92e9dd6d17c89da9bccf339691.tar.xz
yuzu-16fbba3c2a21bf92e9dd6d17c89da9bccf339691.zip
MakeCurrent race condition fix
Diffstat (limited to 'src')
-rw-r--r--src/citra_qt/bootmanager.cpp4
-rw-r--r--src/citra_qt/main.cpp1
2 files changed, 3 insertions, 2 deletions
diff --git a/src/citra_qt/bootmanager.cpp b/src/citra_qt/bootmanager.cpp
index ab9403007..ea46bb1da 100644
--- a/src/citra_qt/bootmanager.cpp
+++ b/src/citra_qt/bootmanager.cpp
@@ -28,11 +28,11 @@
28 28
29EmuThread::EmuThread(GRenderWindow* render_window) : 29EmuThread::EmuThread(GRenderWindow* render_window) :
30 exec_step(false), running(false), stop_run(false), render_window(render_window) { 30 exec_step(false), running(false), stop_run(false), render_window(render_window) {
31
32 connect(this, SIGNAL(started()), render_window, SLOT(moveContext()));
33} 31}
34 32
35void EmuThread::run() { 33void EmuThread::run() {
34 render_window->MakeCurrent();
35
36 stop_run = false; 36 stop_run = false;
37 37
38 // holds whether the cpu was running during the last iteration, 38 // 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 2ea33ebc5..f6010459a 100644
--- a/src/citra_qt/main.cpp
+++ b/src/citra_qt/main.cpp
@@ -216,6 +216,7 @@ void GMainWindow::BootGame(std::string filename) {
216 // Create and start the emulation thread 216 // Create and start the emulation thread
217 emu_thread = Common::make_unique<EmuThread>(render_window); 217 emu_thread = Common::make_unique<EmuThread>(render_window);
218 emit EmulationStarting(emu_thread.get()); 218 emit EmulationStarting(emu_thread.get());
219 render_window->moveContext();
219 emu_thread->start(); 220 emu_thread->start();
220 221
221 // BlockingQueuedConnection is important here, it makes sure we've finished refreshing our views before the CPU continues 222 // BlockingQueuedConnection is important here, it makes sure we've finished refreshing our views before the CPU continues