Commit 78026f549202ad4e31fe5bfb415412e62a13a43e

Ryan C. Gordon 2015-04-08T02:24:17

Patched to compile on Windows.

diff --git a/src/joystick/windows/SDL_dinputjoystick.c b/src/joystick/windows/SDL_dinputjoystick.c
index d5456c7..3fafdea 100644
--- a/src/joystick/windows/SDL_dinputjoystick.c
+++ b/src/joystick/windows/SDL_dinputjoystick.c
@@ -340,16 +340,16 @@ EnumJoysticksCallback(const DIDEVICEINSTANCE * pdidInstance, VOID * pContext)
 {
     JoyStick_DeviceData *pNewJoystick;
     JoyStick_DeviceData *pPrevJoystick = NULL;
-
-    if (SDL_IsXInputDevice(&pdidInstance->guidProduct)) {
-        return DIENUM_CONTINUE;  /* ignore XInput devices here, keep going. */
-    }
-
     const DWORD devtype = (pdidInstance->dwDevType & 0xFF);
+
     if ((devtype != DI8DEVTYPE_JOYSTICK) && (devtype != DI8DEVTYPE_GAMEPAD)) {
         return DIENUM_CONTINUE;  /* Ignore touchpads, etc. */
     }
 
+    if (SDL_IsXInputDevice(&pdidInstance->guidProduct)) {
+        return DIENUM_CONTINUE;  /* ignore XInput devices here, keep going. */
+    }
+
     pNewJoystick = *(JoyStick_DeviceData **)pContext;
     while (pNewJoystick) {
         if (!SDL_memcmp(&pNewJoystick->dxdevice.guidInstance, &pdidInstance->guidInstance, sizeof(pNewJoystick->dxdevice.guidInstance))) {