diff options
| author | Narr the Reg <juangerman-13@hotmail.com> | 2024-02-08 18:11:56 -0600 |
|---|---|---|
| committer | Narr the Reg <juangerman-13@hotmail.com> | 2024-02-08 18:50:54 -0600 |
| commit | 0ac777460d8b4b3cd2b299c89ba2986f088d5e68 (patch) | |
| tree | f0170dbd819fc95c104f22c51c5f4e4eb970852f /src/hid_core/resources/npad/npad_resource.cpp | |
| parent | f049453dd6cf729d4acdb703e3624abe8c855874 (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.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; } |
