aboutsummaryrefslogtreecommitdiff
path: root/src/hid_core
diff options
context:
space:
mode:
authorlizzie <lizzie@eden-emu.dev>2026-05-24 01:04:32 +0200
committercrueter <crueter@eden-emu.dev>2026-05-24 01:04:32 +0200
commit2aa2ac7d9ac8e47f59a2475384c3afee9d5c60bc (patch)
tree17c578ef422f3323bdb0b57ea85457864f3912de /src/hid_core
parent90164197dc3526bba5bc5446a015a9ed93a4aff5 (diff)
[hle/service{nvdrv,apm}] fixes for TetrisSwitch (#3983)
- testriswitch submits buffers with a fence id of -1, just skip them instead of trying to process them? - apm:u, which is removed, but hey, backwards compat never hurted - another instance of shared_memory crashing NPad Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3983 Reviewed-by: MaranBr <maranbr@eden-emu.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Diffstat (limited to 'src/hid_core')
-rw-r--r--src/hid_core/resources/npad/npad.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/hid_core/resources/npad/npad.cpp b/src/hid_core/resources/npad/npad.cpp
index 3a191f4539..4710342848 100644
--- a/src/hid_core/resources/npad/npad.cpp
+++ b/src/hid_core/resources/npad/npad.cpp
@@ -712,6 +712,11 @@ bool NPad::SetNpadMode(u64 aruid, Core::HID::NpadIdType& new_npad_id, Core::HID:
}
auto& controller = GetControllerFromNpadIdType(aruid, npad_id);
+ if (!controller.shared_memory) {
+ LOG_WARNING(Service_HID, "shared_memory is null for npad_id={}", npad_id);
+ return false;
+ }
+
if (controller.shared_memory->assignment_mode != assignment_mode) {
controller.shared_memory->assignment_mode = assignment_mode;
}