osx: lockup when emulator aborts. Race condition when starting emu
This commit is contained in:
parent
0414406471
commit
37eace9db4
|
@ -380,11 +380,11 @@ void rend_start_render()
|
|||
if (QueueRender(ctx))
|
||||
{
|
||||
palette_update();
|
||||
pend_rend = true;
|
||||
if (!config::ThreadedRendering)
|
||||
rend_single_frame(true);
|
||||
else
|
||||
rs.Set();
|
||||
pend_rend = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -51,8 +51,12 @@ bool mainui_rend_frame()
|
|||
UpdateInputState();
|
||||
if (!dc_is_running())
|
||||
{
|
||||
dc_stop();
|
||||
gui_stop_game(dc_get_last_error());
|
||||
std::string error = dc_get_last_error();
|
||||
if (!error.empty())
|
||||
{
|
||||
dc_stop();
|
||||
gui_stop_game(error);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -118,7 +118,7 @@ extern bool rend_framePending();
|
|||
|
||||
bool emu_frame_pending()
|
||||
{
|
||||
return rend_framePending() || gui_is_open();
|
||||
return rend_framePending() || !dc_is_running() || gui_is_open();
|
||||
}
|
||||
|
||||
bool emu_renderer_enabled()
|
||||
|
|
Loading…
Reference in New Issue