aboutsummaryrefslogtreecommitdiff
path: root/src/hid_core/resources/npad/npad_resource.cpp
diff options
context:
space:
mode:
authorliamwhite <liamwhite@users.noreply.github.com>2024-02-09 11:47:05 -0500
committerGitHub <noreply@github.com>2024-02-09 11:47:05 -0500
commit2ad8d614b50b7ee07917e868a2ed5aa3579c76d8 (patch)
tree9e74a7106a206900e6e216b56abc9cbdfbcea08c /src/hid_core/resources/npad/npad_resource.cpp
parentf9a559d2b78b6fa12e4335991c9519a056e8a523 (diff)
parent0ac777460d8b4b3cd2b299c89ba2986f088d5e68 (diff)
Merge pull request #12966 from german77/free_npad
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;
}