Просмотр исходного кода

MakeCurrent race condition fix

tfarley 11 лет назад
Родитель
Сommit
16fbba3c2a
2 измененных файлов с 3 добавлено и 2 удалено
  1. 2 2
      src/citra_qt/bootmanager.cpp
  2. 1 0
      src/citra_qt/main.cpp

+ 2 - 2
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,

+ 1 - 0
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