MakeCurrent race condition fix
This commit is contained in:
parent
05dc633a8c
commit
16fbba3c2a
|
@ -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