diff options
| author | 2020-11-25 07:48:00 -0500 | |
|---|---|---|
| committer | 2020-12-18 10:33:28 -0500 | |
| commit | 54ea3c47c8ec50c62126ef7e01c21efc0c19799b (patch) | |
| tree | 27350195e7de626bf35ab31c735c931f7b01d231 /src | |
| parent | util: Add URL Request Interceptor for QWebEngine (diff) | |
| download | yuzu-54ea3c47c8ec50c62126ef7e01c21efc0c19799b.tar.gz yuzu-54ea3c47c8ec50c62126ef7e01c21efc0c19799b.tar.xz yuzu-54ea3c47c8ec50c62126ef7e01c21efc0c19799b.zip | |
controllers/npad: Make press_state atomic
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/hle/service/hid/controllers/npad.cpp | 2 | ||||
| -rw-r--r-- | src/core/hle/service/hid/controllers/npad.h | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/core/hle/service/hid/controllers/npad.cpp b/src/core/hle/service/hid/controllers/npad.cpp index f6a0770bf..d280e7caf 100644 --- a/src/core/hle/service/hid/controllers/npad.cpp +++ b/src/core/hle/service/hid/controllers/npad.cpp | |||
| @@ -1058,7 +1058,7 @@ void Controller_NPad::ClearAllControllers() { | |||
| 1058 | } | 1058 | } |
| 1059 | 1059 | ||
| 1060 | u32 Controller_NPad::GetAndResetPressState() { | 1060 | u32 Controller_NPad::GetAndResetPressState() { |
| 1061 | return std::exchange(press_state, 0); | 1061 | return press_state.exchange(0); |
| 1062 | } | 1062 | } |
| 1063 | 1063 | ||
| 1064 | bool Controller_NPad::IsControllerSupported(NPadControllerType controller) const { | 1064 | bool Controller_NPad::IsControllerSupported(NPadControllerType controller) const { |
diff --git a/src/core/hle/service/hid/controllers/npad.h b/src/core/hle/service/hid/controllers/npad.h index 9fac00231..e2e826623 100644 --- a/src/core/hle/service/hid/controllers/npad.h +++ b/src/core/hle/service/hid/controllers/npad.h | |||
| @@ -5,6 +5,7 @@ | |||
| 5 | #pragma once | 5 | #pragma once |
| 6 | 6 | ||
| 7 | #include <array> | 7 | #include <array> |
| 8 | #include <atomic> | ||
| 8 | #include "common/bit_field.h" | 9 | #include "common/bit_field.h" |
| 9 | #include "common/common_types.h" | 10 | #include "common/common_types.h" |
| 10 | #include "core/frontend/input.h" | 11 | #include "core/frontend/input.h" |
| @@ -415,7 +416,7 @@ private: | |||
| 415 | bool IsControllerSupported(NPadControllerType controller) const; | 416 | bool IsControllerSupported(NPadControllerType controller) const; |
| 416 | void RequestPadStateUpdate(u32 npad_id); | 417 | void RequestPadStateUpdate(u32 npad_id); |
| 417 | 418 | ||
| 418 | u32 press_state{}; | 419 | std::atomic<u32> press_state{}; |
| 419 | 420 | ||
| 420 | NpadStyleSet style{}; | 421 | NpadStyleSet style{}; |
| 421 | std::array<NPadEntry, 10> shared_memory_entries{}; | 422 | std::array<NPadEntry, 10> shared_memory_entries{}; |