diff --git a/src/duckstation-qt/qthost.cpp b/src/duckstation-qt/qthost.cpp index 052827cb1..208dd8182 100644 --- a/src/duckstation-qt/qthost.cpp +++ b/src/duckstation-qt/qthost.cpp @@ -700,7 +700,7 @@ void EmuThread::onDisplayWindowResized(int width, int height) System::HostDisplayResized(); // re-render the display, since otherwise it will be out of date and stretched if paused - if (!System::IsShutdown()) + if (System::IsValid()) { if (m_is_exclusive_fullscreen && !g_host_display->IsFullscreen()) { @@ -712,7 +712,7 @@ void EmuThread::onDisplayWindowResized(int width, int height) } // force redraw if we're paused - if (!FullscreenUI::IsInitialized()) + if (!System::IsRunning() && !FullscreenUI::HasActiveWindow()) renderDisplay(); } } @@ -1498,7 +1498,7 @@ void EmuThread::run() CommonHost::PumpMessagesOnCPUThread(); // we want to keep rendering the UI when paused and fullscreen UI is enabled - if (!FullscreenUI::IsInitialized() && !System::IsValid()) + if (!FullscreenUI::HasActiveWindow() && !System::IsRunning()) { // wait until we have a system before running m_event_loop->exec(); diff --git a/src/frontend-common/fullscreen_ui.cpp b/src/frontend-common/fullscreen_ui.cpp index bbbcf1c94..66fdb9921 100644 --- a/src/frontend-common/fullscreen_ui.cpp +++ b/src/frontend-common/fullscreen_ui.cpp @@ -454,8 +454,8 @@ bool FullscreenUI::IsInitialized() bool FullscreenUI::HasActiveWindow() { - return s_current_main_window != MainWindowType::None || s_save_state_selector_open || - ImGuiFullscreen::IsChoiceDialogOpen() || ImGuiFullscreen::IsFileSelectorOpen(); + return s_initialized && (s_current_main_window != MainWindowType::None || s_save_state_selector_open || + ImGuiFullscreen::IsChoiceDialogOpen() || ImGuiFullscreen::IsFileSelectorOpen()); } void FullscreenUI::UpdateForcedVsync(bool should_force)