aboutsummaryrefslogtreecommitdiff
path: root/src/hid_core/resources/applet_resource.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/hid_core/resources/applet_resource.cpp')
-rw-r--r--src/hid_core/resources/applet_resource.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/hid_core/resources/applet_resource.cpp b/src/hid_core/resources/applet_resource.cpp
index 31480a0e90..a7b9658cac 100644
--- a/src/hid_core/resources/applet_resource.cpp
+++ b/src/hid_core/resources/applet_resource.cpp
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
@@ -14,7 +14,10 @@ namespace Service::HID {
AppletResource::AppletResource(Core::System& system_) : system{system_} {}
-AppletResource::~AppletResource() = default;
+AppletResource::~AppletResource() {
+ for (size_t i = 0; i < shared_memory_holder.size(); ++i)
+ shared_memory_holder[i].Finalize(system);
+}
Result AppletResource::CreateAppletResource(u64 aruid) {
const u64 index = GetIndexFromAruid(aruid);
@@ -34,7 +37,7 @@ Result AppletResource::CreateAppletResource(u64 aruid) {
return result;
}
if (shared_memory.GetAddress() == nullptr) {
- shared_memory.Finalize();
+ shared_memory.Finalize(system);
return ResultSharedMemoryNotInitialized;
}
}
@@ -139,7 +142,7 @@ void AppletResource::FreeAppletResourceId(u64 aruid) {
if (aruid_data.flag.is_assigned) {
aruid_data.shared_memory_format = nullptr;
aruid_data.flag.is_assigned.Assign(false);
- shared_memory_holder[index].Finalize();
+ shared_memory_holder[index].Finalize(system);
}
}