Commit 0ad8d9d2923fbc78211dbc933cf8a239a60417ac

Sam Lantinga 2022-09-07T15:31:24

SDL_IsXInputDevice() shouldn't return true if XInput isn't enabled

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
diff --git a/src/joystick/windows/SDL_dinputjoystick.c b/src/joystick/windows/SDL_dinputjoystick.c
index 95cd09a..2f06053 100644
--- a/src/joystick/windows/SDL_dinputjoystick.c
+++ b/src/joystick/windows/SDL_dinputjoystick.c
@@ -238,6 +238,7 @@ SetDIerror(const char *function, HRESULT code)
 static SDL_bool
 SDL_IsXInputDevice(Uint16 vendor_id, Uint16 product_id, const char* hidPath)
 {
+#ifdef SDL_JOYSTICK_XINPUT
     SDL_GameControllerType type;
 
     /* XInput and RawInput backends will pick up XInput-compatible devices */
@@ -261,6 +262,7 @@ SDL_IsXInputDevice(Uint16 vendor_id, Uint16 product_id, const char* hidPath)
         (vendor_id == USB_VENDOR_VALVE && product_id == USB_PRODUCT_STEAM_VIRTUAL_GAMEPAD)) {
         return SDL_TRUE;
     }
+#endif /* SDL_JOYSTICK_XINPUT */
 
     return SDL_FALSE;
 }