MakeCurrent race condition fix
This commit is contained in:
		| @@ -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, | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user