From d08fea551e7e312e8afd6c34fd5c2250079e7d2f Mon Sep 17 00:00:00 2001 From: Megamouse Date: Thu, 15 Jun 2023 23:58:28 +0200 Subject: [PATCH] progress dialog fix --- rpcs3/Emu/Cell/PPUThread.cpp | 2 +- rpcs3/Emu/system_progress.cpp | 2 +- rpcs3/Emu/system_progress.hpp | 5 ++++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/rpcs3/Emu/Cell/PPUThread.cpp b/rpcs3/Emu/Cell/PPUThread.cpp index ffa70c7f1499..6850908e5464 100644 --- a/rpcs3/Emu/Cell/PPUThread.cpp +++ b/rpcs3/Emu/Cell/PPUThread.cpp @@ -1535,7 +1535,7 @@ void ppu_thread::cpu_task() // Wait until the progress dialog is closed. // We don't want to open a cell dialog while a native progress dialog is still open. thread_ctrl::wait_on(g_progr_ptotal, 0); - g_fxo->get().show_overlay_message_only = true; + g_fxo->get().show_overlay_message_only = true; // Sadly we can't postpone initializing guest time because we need to run PPU threads // (the farther it's postponed, the less accuracy of guest time has been lost) diff --git a/rpcs3/Emu/system_progress.cpp b/rpcs3/Emu/system_progress.cpp index cbd730565b82..ea8c0086e965 100644 --- a/rpcs3/Emu/system_progress.cpp +++ b/rpcs3/Emu/system_progress.cpp @@ -71,7 +71,7 @@ void progress_dialog_server::operator()() renderer->is_initialized.wait(false, atomic_wait_timeout(5 * 1000000000ull)); auto manager = g_fxo->try_get(); - show_overlay_message = show_overlay_message_only; + show_overlay_message = g_fxo->get().show_overlay_message_only; if (manager && !show_overlay_message) { diff --git a/rpcs3/Emu/system_progress.hpp b/rpcs3/Emu/system_progress.hpp index 793318569ad4..92139b4afed6 100644 --- a/rpcs3/Emu/system_progress.hpp +++ b/rpcs3/Emu/system_progress.hpp @@ -39,7 +39,10 @@ struct progress_dialog_server ~progress_dialog_server(); static constexpr auto thread_name = "Progress Dialog Server"sv; - +}; + +struct progress_dialog_workaround +{ // We don't want to show the native dialog during gameplay. atomic_t show_overlay_message_only = false; };