From 3f00b485a0c5aa9cd435751ff864a832f68e942e Mon Sep 17 00:00:00 2001 From: Megamouse Date: Sat, 1 Jun 2019 09:46:45 +0200 Subject: [PATCH] cellMsgDialogAbort: don't call on_close and properly re-enable pads --- rpcs3/Emu/Cell/Modules/cellMsgDialog.cpp | 6 ++++-- rpcs3/Emu/RSX/Overlays/overlays.cpp | 4 ++-- rpcs3/Emu/RSX/Overlays/overlays.h | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/rpcs3/Emu/Cell/Modules/cellMsgDialog.cpp b/rpcs3/Emu/Cell/Modules/cellMsgDialog.cpp index ae2362189f..df2192e2cd 100644 --- a/rpcs3/Emu/Cell/Modules/cellMsgDialog.cpp +++ b/rpcs3/Emu/Cell/Modules/cellMsgDialog.cpp @@ -389,7 +389,7 @@ error_code cellMsgDialogAbort() { if (auto dlg = manager->get()) { - dlg->close(); + dlg->close(false); return CELL_OK; } } @@ -406,7 +406,9 @@ error_code cellMsgDialogAbort() return CELL_SYSUTIL_ERROR_BUSY; } - verify(HERE), fxm::remove(); + verify(HERE), fxm::remove(); // this shouldn't call on_close + pad::SetIntercepted(false); // so we need to reenable the pads here + return CELL_OK; } diff --git a/rpcs3/Emu/RSX/Overlays/overlays.cpp b/rpcs3/Emu/RSX/Overlays/overlays.cpp index 62d3d6490c..536eed4779 100644 --- a/rpcs3/Emu/RSX/Overlays/overlays.cpp +++ b/rpcs3/Emu/RSX/Overlays/overlays.cpp @@ -305,7 +305,7 @@ namespace rsx return 0; } - void user_interface::close() + void user_interface::close(bool use_callback) { // Force unload exit = true; @@ -322,7 +322,7 @@ namespace rsx pad::SetIntercepted(false); - if (on_close) + if (on_close && use_callback) on_close(return_code); } diff --git a/rpcs3/Emu/RSX/Overlays/overlays.h b/rpcs3/Emu/RSX/Overlays/overlays.h index 486e3d6e93..44a991b9ef 100644 --- a/rpcs3/Emu/RSX/Overlays/overlays.h +++ b/rpcs3/Emu/RSX/Overlays/overlays.h @@ -89,7 +89,7 @@ namespace rsx close(); } - void close(); + void close(bool use_callback = true); s32 run_input_loop(); };