From b35a5982e81d5749aa1f3a34542986dda8534d1f Mon Sep 17 00:00:00 2001 From: Nekotekina Date: Wed, 26 Feb 2020 20:42:25 +0300 Subject: [PATCH] Fix one bug with MsgDialog thread (freeze on exit) Forgot to check thread state --- rpcs3/Emu/RSX/Overlays/overlay_message_dialog.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/rpcs3/Emu/RSX/Overlays/overlay_message_dialog.cpp b/rpcs3/Emu/RSX/Overlays/overlay_message_dialog.cpp index 108ffb089c..6582884152 100644 --- a/rpcs3/Emu/RSX/Overlays/overlay_message_dialog.cpp +++ b/rpcs3/Emu/RSX/Overlays/overlay_message_dialog.cpp @@ -256,12 +256,18 @@ namespace rsx } else { - while (!exit) + while (!exit && thread_ctrl::state() == thread_state::created) { refresh(); // Only update the screen at about 60fps since updating it everytime slows down the process std::this_thread::sleep_for(16ms); + + if (!g_fxo->get()) + { + rsx_log.fatal("display_manager was improperly destroyed"); + return; + } } }