diff options
| author | liamwhite <liamwhite@users.noreply.github.com> | 2024-02-09 11:47:05 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-02-09 11:47:05 -0500 |
| commit | 2ad8d614b50b7ee07917e868a2ed5aa3579c76d8 (patch) | |
| tree | 9e74a7106a206900e6e216b56abc9cbdfbcea08c /src/hid_core/resources/npad/npad_resource.cpp | |
| parent | f9a559d2b78b6fa12e4335991c9519a056e8a523 (diff) | |
| parent | 0ac777460d8b4b3cd2b299c89ba2986f088d5e68 (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.cpp | 10 |
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; } |
