summaryrefslogtreecommitdiff
path: root/src/hid_core/resources
diff options
context:
space:
mode:
authorGravatar german772024-01-28 18:26:40 -0600
committerGravatar german772024-01-28 18:27:25 -0600
commit87e26de0fca682e48c21edd98c7636e797f8b2f2 (patch)
treef5e059ccd56edfaee3d60fffcff7584f7f1c0d80 /src/hid_core/resources
parentservice: hid: Fully implement touch resource (diff)
downloadyuzu-87e26de0fca682e48c21edd98c7636e797f8b2f2.tar.gz
yuzu-87e26de0fca682e48c21edd98c7636e797f8b2f2.tar.xz
yuzu-87e26de0fca682e48c21edd98c7636e797f8b2f2.zip
service: hid: Restore active aruid
Diffstat (limited to 'src/hid_core/resources')
-rw-r--r--src/hid_core/resources/applet_resource.cpp6
-rw-r--r--src/hid_core/resources/npad/npad_resource.cpp6
2 files changed, 12 insertions, 0 deletions
diff --git a/src/hid_core/resources/applet_resource.cpp b/src/hid_core/resources/applet_resource.cpp
index db4134037..243beb1c7 100644
--- a/src/hid_core/resources/applet_resource.cpp
+++ b/src/hid_core/resources/applet_resource.cpp
@@ -118,6 +118,12 @@ void AppletResource::UnregisterAppletResourceUserId(u64 aruid) {
118 data[index].aruid = 0; 118 data[index].aruid = 0;
119 119
120 registration_list.flag[index] = RegistrationStatus::PendingDelete; 120 registration_list.flag[index] = RegistrationStatus::PendingDelete;
121
122 for (std::size_t i = 0; i < AruidIndexMax; i++) {
123 if (registration_list.flag[i] == RegistrationStatus::Initialized) {
124 active_aruid = registration_list.aruid[i];
125 }
126 }
121} 127}
122 128
123void AppletResource::FreeAppletResourceId(u64 aruid) { 129void AppletResource::FreeAppletResourceId(u64 aruid) {
diff --git a/src/hid_core/resources/npad/npad_resource.cpp b/src/hid_core/resources/npad/npad_resource.cpp
index ea9fc14ed..8dd86b58e 100644
--- a/src/hid_core/resources/npad/npad_resource.cpp
+++ b/src/hid_core/resources/npad/npad_resource.cpp
@@ -72,6 +72,12 @@ void NPadResource::UnregisterAppletResourceUserId(u64 aruid) {
72 state[aruid_index] = {}; 72 state[aruid_index] = {};
73 registration_list.flag[aruid_index] = RegistrationStatus::PendingDelete; 73 registration_list.flag[aruid_index] = RegistrationStatus::PendingDelete;
74 } 74 }
75
76 for (std::size_t i = 0; i < AruidIndexMax; i++) {
77 if (registration_list.flag[i] == RegistrationStatus::Initialized) {
78 active_data_aruid = registration_list.aruid[i];
79 }
80 }
75} 81}
76 82
77void NPadResource::DestroyStyleSetUpdateEvents(u64 aruid) { 83void NPadResource::DestroyStyleSetUpdateEvents(u64 aruid) {