From 7f710e93f05dcdc73ee0914e20afd0da275796d4 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Thu, 28 Jan 2021 14:54:01 -0800 Subject: [PATCH] Make sure we don't create a game controller mapping for HID devices that aren't supported by HIDAPI --- src/joystick/hidapi/SDL_hidapijoystick.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/joystick/hidapi/SDL_hidapijoystick.c b/src/joystick/hidapi/SDL_hidapijoystick.c index 593c70f84..8c02cc415 100644 --- a/src/joystick/hidapi/SDL_hidapijoystick.c +++ b/src/joystick/hidapi/SDL_hidapijoystick.c @@ -446,8 +446,14 @@ HIDAPI_GetDeviceDriver(SDL_HIDAPI_Device *device) const Uint16 USAGE_MULTIAXISCONTROLLER = 0x0008; int i; SDL_GameControllerType type; + SDL_JoystickGUID check_guid; - if (SDL_ShouldIgnoreJoystick(device->name, device->guid)) { + /* Make sure we have a generic GUID here, otherwise if we pass a HIDAPI + guid, this call will create a game controller mapping for the device. + */ + check_guid = device->guid; + check_guid.data[14] = 0; + if (SDL_ShouldIgnoreJoystick(device->name, check_guid)) { return NULL; }