summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Morph2020-11-25 07:48:00 -0500
committerGravatar Morph2020-12-18 10:33:28 -0500
commit54ea3c47c8ec50c62126ef7e01c21efc0c19799b (patch)
tree27350195e7de626bf35ab31c735c931f7b01d231 /src
parentutil: Add URL Request Interceptor for QWebEngine (diff)
downloadyuzu-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.cpp2
-rw-r--r--src/core/hle/service/hid/controllers/npad.h3
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
1060u32 Controller_NPad::GetAndResetPressState() { 1060u32 Controller_NPad::GetAndResetPressState() {
1061 return std::exchange(press_state, 0); 1061 return press_state.exchange(0);
1062} 1062}
1063 1063
1064bool Controller_NPad::IsControllerSupported(NPadControllerType controller) const { 1064bool 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{};