FullscreenUI: Fix ClosePauseMenu() running on wrong thread

This commit is contained in:
Stenzek 2025-01-29 19:19:49 +10:00
parent 231ba050a2
commit 224cb6ac8e
No known key found for this signature in database

View File

@ -854,15 +854,10 @@ void FullscreenUI::FixStateIfPaused()
void FullscreenUI::ClosePauseMenu()
{
if (!System::IsValid())
if (!GPUThread::HasGPUBackend())
return;
const bool paused = System::IsPaused();
GPUThread::RunOnThread([paused]() {
if (!IsInitialized())
return;
if (paused && !s_state.was_paused_on_quick_menu_open)
if (GPUThread::IsSystemPaused() && !s_state.was_paused_on_quick_menu_open)
Host::RunOnCPUThread([]() { System::PauseSystem(false); });
s_state.current_main_window = MainWindowType::None;
@ -871,7 +866,6 @@ void FullscreenUI::ClosePauseMenu()
QueueResetFocus(FocusResetType::ViewChanged);
UpdateRunIdleState();
FixStateIfPaused();
});
}
void FullscreenUI::OpenPauseSubMenu(PauseSubMenu submenu)
@ -6062,7 +6056,8 @@ void FullscreenUI::DrawAchievementsLoginWindow()
ImGui::SetCursorPosX((ImGui::GetWindowWidth() - item_width) * 0.5f);
ImGui::SetNextItemWidth(item_width);
ImGui::InputTextWithHint("##username", FSUI_CSTR("User Name"), username, sizeof(username), is_logging_in ? ImGuiInputTextFlags_ReadOnly : 0);
ImGui::InputTextWithHint("##username", FSUI_CSTR("User Name"), username, sizeof(username),
is_logging_in ? ImGuiInputTextFlags_ReadOnly : 0);
ImGui::NextColumn();
ImGui::SetCursorPosX((ImGui::GetWindowWidth() - item_width) * 0.5f);