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; + } } }