From 68121c0f6bdb790721753b318b2b182db8fd287d Mon Sep 17 00:00:00 2001 From: Connor McLaughlin Date: Sat, 23 Jul 2022 00:39:58 +1000 Subject: [PATCH] Qt: Fix rendering at unthrottled framerate while paused --- src/duckstation-qt/qthost.cpp | 6 +++--- src/frontend-common/fullscreen_ui.cpp | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) 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)