Fixed crash when using the NVIDIA Shield controller

This commit is contained in:
Sam Lantinga
2025-12-22 11:29:47 -08:00
parent 7fe81f789f
commit 0b9946d7bf
+3 -6
View File
@@ -482,13 +482,13 @@ static bool HIDAPI_DriverShield_UpdateDevice(SDL_HIDAPI_Device *device)
#ifdef DEBUG_SHIELD_PROTOCOL #ifdef DEBUG_SHIELD_PROTOCOL
HIDAPI_DumpPacket("NVIDIA SHIELD packet: size = %d", data, size); HIDAPI_DumpPacket("NVIDIA SHIELD packet: size = %d", data, size);
#endif #endif
if (!joystick) {
continue;
}
// Byte 0 is HID report ID // Byte 0 is HID report ID
switch (data[0]) { switch (data[0]) {
case k_ShieldReportIdControllerState: case k_ShieldReportIdControllerState:
if (!joystick) {
break;
}
if (size == 16) { if (size == 16) {
HIDAPI_DriverShield_HandleStatePacketV103(joystick, ctx, data, size); HIDAPI_DriverShield_HandleStatePacketV103(joystick, ctx, data, size);
} else { } else {
@@ -496,9 +496,6 @@ static bool HIDAPI_DriverShield_UpdateDevice(SDL_HIDAPI_Device *device)
} }
break; break;
case k_ShieldReportIdControllerTouch: case k_ShieldReportIdControllerTouch:
if (!joystick) {
break;
}
HIDAPI_DriverShield_HandleTouchPacketV103(joystick, ctx, data, size); HIDAPI_DriverShield_HandleTouchPacketV103(joystick, ctx, data, size);
break; break;
case k_ShieldReportIdCommandResponse: case k_ShieldReportIdCommandResponse: