Browse Source

controllers/npad: Make press_state atomic

pull/15/merge
Morph 5 years ago
parent
commit
54ea3c47c8
  1. 2
      src/core/hle/service/hid/controllers/npad.cpp
  2. 3
      src/core/hle/service/hid/controllers/npad.h

2
src/core/hle/service/hid/controllers/npad.cpp

@ -1058,7 +1058,7 @@ void Controller_NPad::ClearAllControllers() {
} }
u32 Controller_NPad::GetAndResetPressState() { u32 Controller_NPad::GetAndResetPressState() {
return std::exchange(press_state, 0);
return press_state.exchange(0);
} }
bool Controller_NPad::IsControllerSupported(NPadControllerType controller) const { bool Controller_NPad::IsControllerSupported(NPadControllerType controller) const {

3
src/core/hle/service/hid/controllers/npad.h

@ -5,6 +5,7 @@
#pragma once #pragma once
#include <array> #include <array>
#include <atomic>
#include "common/bit_field.h" #include "common/bit_field.h"
#include "common/common_types.h" #include "common/common_types.h"
#include "core/frontend/input.h" #include "core/frontend/input.h"
@ -415,7 +416,7 @@ private:
bool IsControllerSupported(NPadControllerType controller) const; bool IsControllerSupported(NPadControllerType controller) const;
void RequestPadStateUpdate(u32 npad_id); void RequestPadStateUpdate(u32 npad_id);
u32 press_state{};
std::atomic<u32> press_state{};
NpadStyleSet style{}; NpadStyleSet style{};
std::array<NPadEntry, 10> shared_memory_entries{}; std::array<NPadEntry, 10> shared_memory_entries{};

Loading…
Cancel
Save