From 7d32dc312f6ceb5ce2eecd90063dd839b478598c Mon Sep 17 00:00:00 2001 From: Megamouse Date: Sat, 1 Oct 2022 12:47:27 +0200 Subject: [PATCH] Qt: pad settings: clear input data on thread pause Fixes incorrectly disabled buttons when changing from a handler with a disconnected pad to any other handler --- rpcs3/Emu/CMakeLists.txt | 5 +---- rpcs3/rpcs3qt/pad_settings_dialog.cpp | 2 ++ 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/rpcs3/Emu/CMakeLists.txt b/rpcs3/Emu/CMakeLists.txt index fdd42314d7..b81fc44586 100644 --- a/rpcs3/Emu/CMakeLists.txt +++ b/rpcs3/Emu/CMakeLists.txt @@ -37,7 +37,6 @@ target_include_directories(rpcs3_emu PUBLIC ${RPCS3_SRC_DIR}) - # Utilities target_sources(rpcs3_emu PRIVATE ../util/atomic.cpp @@ -117,7 +116,6 @@ target_sources(rpcs3_emu PRIVATE ../Loader/TRP.cpp ) - # Audio target_sources(rpcs3_emu PRIVATE Audio/audio_resampler.cpp @@ -416,7 +414,6 @@ target_sources(rpcs3_emu PRIVATE Memory/vm.cpp ) - # RSX target_sources(rpcs3_emu PRIVATE RSX/gcm_enums.cpp @@ -551,7 +548,7 @@ target_link_libraries(rpcs3_emu if(APPLE) check_function_exists(clock_gettime HAVE_CLOCK_GETTIME) if (${HAVE_CLOCK_GETTIME}) - target_compile_definitions(rpcs3_emu PUBLIC -DHAVE_CLOCK_GETTIME) + target_compile_definitions(rpcs3_emu PUBLIC -DHAVE_CLOCK_GETTIME) endif() endif() diff --git a/rpcs3/rpcs3qt/pad_settings_dialog.cpp b/rpcs3/rpcs3qt/pad_settings_dialog.cpp index 3ff0c05d7d..2d0e996bcb 100644 --- a/rpcs3/rpcs3qt/pad_settings_dialog.cpp +++ b/rpcs3/rpcs3qt/pad_settings_dialog.cpp @@ -512,6 +512,8 @@ void pad_settings_dialog::InitButtons() { if (m_input_thread_state == input_thread_state::pausing) { + std::lock_guard lock(m_input_mutex); + m_input_callback_data = {}; m_input_thread_state = input_thread_state::paused; }