mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-08-05 07:41:21 +00:00
overlays: fix non-interactive dialog loops
This commit is contained in:
parent
c9aee27d48
commit
d94d094a7e
1 changed files with 29 additions and 5 deletions
|
@ -205,9 +205,10 @@ namespace rsx
|
||||||
}
|
}
|
||||||
|
|
||||||
this->on_close = std::move(on_close);
|
this->on_close = std::move(on_close);
|
||||||
if (interactive)
|
|
||||||
|
if (is_blocking)
|
||||||
{
|
{
|
||||||
if (is_blocking)
|
if (interactive)
|
||||||
{
|
{
|
||||||
if (auto error = run_input_loop())
|
if (auto error = run_input_loop())
|
||||||
{
|
{
|
||||||
|
@ -217,14 +218,37 @@ namespace rsx
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
thread_ctrl::spawn("dialog input thread", [&]
|
while (!exit)
|
||||||
|
{
|
||||||
|
refresh();
|
||||||
|
|
||||||
|
// Only update the screen at about 60fps since updating it everytime slows down the process
|
||||||
|
std::this_thread::sleep_for(16ms);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
thread_ctrl::spawn("dialog input thread", [&]
|
||||||
|
{
|
||||||
|
if (interactive)
|
||||||
{
|
{
|
||||||
if (auto error = run_input_loop())
|
if (auto error = run_input_loop())
|
||||||
{
|
{
|
||||||
LOG_ERROR(RSX, "Dialog input loop exited with error code=%d", error);
|
LOG_ERROR(RSX, "Dialog input loop exited with error code=%d", error);
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
}
|
else
|
||||||
|
{
|
||||||
|
while (!exit)
|
||||||
|
{
|
||||||
|
refresh();
|
||||||
|
|
||||||
|
// Only update the screen at about 60fps since updating it everytime slows down the process
|
||||||
|
std::this_thread::sleep_for(16ms);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue