aboutsummaryrefslogtreecommitdiff
path: root/src/hid_core/resources/npad/npad_resource.cpp
diff options
context:
space:
mode:
authorNarr the Reg <juangerman-13@hotmail.com>2024-02-08 18:11:56 -0600
committerNarr the Reg <juangerman-13@hotmail.com>2024-02-08 18:50:54 -0600
commit0ac777460d8b4b3cd2b299c89ba2986f088d5e68 (patch)
treef0170dbd819fc95c104f22c51c5f4e4eb970852f /src/hid_core/resources/npad/npad_resource.cpp
parentf049453dd6cf729d4acdb703e3624abe8c855874 (diff)
service: hid: Free npad applet resource
Diffstat (limited to 'src/hid_core/resources/npad/npad_resource.cpp')
-rw-r--r--src/hid_core/resources/npad/npad_resource.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/hid_core/resources/npad/npad_resource.cpp b/src/hid_core/resources/npad/npad_resource.cpp
index 8dd86b58e..79f7d74c0 100644
--- a/src/hid_core/resources/npad/npad_resource.cpp
+++ b/src/hid_core/resources/npad/npad_resource.cpp
@@ -67,7 +67,7 @@ Result NPadResource::RegisterAppletResourceUserId(u64 aruid) {
void NPadResource::UnregisterAppletResourceUserId(u64 aruid) {
const u64 aruid_index = GetIndexFromAruid(aruid);
- DestroyStyleSetUpdateEvents(aruid);
+ FreeAppletResourceId(aruid);
if (aruid_index < AruidIndexMax) {
state[aruid_index] = {};
registration_list.flag[aruid_index] = RegistrationStatus::PendingDelete;
@@ -80,14 +80,18 @@ void NPadResource::UnregisterAppletResourceUserId(u64 aruid) {
}
}
-void NPadResource::DestroyStyleSetUpdateEvents(u64 aruid) {
+void NPadResource::FreeAppletResourceId(u64 aruid) {
const u64 aruid_index = GetIndexFromAruid(aruid);
if (aruid_index >= AruidIndexMax) {
return;
}
- for (auto& controller_state : state[aruid_index].controller_state) {
+ auto& aruid_data = state[aruid_index];
+
+ aruid_data.flag.is_assigned.Assign(false);
+
+ for (auto& controller_state : aruid_data.controller_state) {
if (!controller_state.is_styleset_update_event_initialized) {
continue;
}