From d9d5f45e9eebddbf06db23f72f03606eedfccb66 Mon Sep 17 00:00:00 2001 From: Megamouse Date: Tue, 8 Jan 2019 22:10:07 +0100 Subject: [PATCH] rsx/input: fix rsx replay --- rpcs3/Emu/RSX/Overlays/overlays.cpp | 12 ++---------- rpcs3/Emu/System.cpp | 4 +++- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/rpcs3/Emu/RSX/Overlays/overlays.cpp b/rpcs3/Emu/RSX/Overlays/overlays.cpp index c8da1dd559..0793e850d2 100644 --- a/rpcs3/Emu/RSX/Overlays/overlays.cpp +++ b/rpcs3/Emu/RSX/Overlays/overlays.cpp @@ -22,11 +22,7 @@ namespace rsx input_timer.Start(); - { - std::lock_guard lock(pad::g_pad_mutex); - const auto handler = pad::get_current_handler(); - handler->SetIntercepted(true); - } + pad::SetIntercepted(true); while (!exit) { @@ -152,11 +148,7 @@ namespace rsx manager->remove(uid); } - { - std::lock_guard lock(pad::g_pad_mutex); - const auto handler = pad::get_current_handler(); - handler->SetIntercepted(false); - } + pad::SetIntercepted(false); if (on_close) on_close(return_code); diff --git a/rpcs3/Emu/System.cpp b/rpcs3/Emu/System.cpp index e0960cc705..9f585fbe47 100644 --- a/rpcs3/Emu/System.cpp +++ b/rpcs3/Emu/System.cpp @@ -483,7 +483,9 @@ bool Emulator::BootRsxCapture(const std::string& path) GetCallbacks().on_ready(); auto gsrender = fxm::import(Emu.GetCallbacks().get_gs_render); - if (gsrender.get() == nullptr) + auto padhandler = fxm::import(Emu.GetCallbacks().get_pad_handler); + + if (gsrender.get() == nullptr || padhandler.get() == nullptr) return false; GetCallbacks().on_run();