Commit ea4350d821c9aed330b7a5af3d0cfa5bea2f731f

Ryan C. Gordon 2013-08-28T22:07:54

Don't corrupt XInput device state during SDL_SYS_JoystickClose().

diff --git a/src/joystick/windows/SDL_dxjoystick.c b/src/joystick/windows/SDL_dxjoystick.c
index 9399ee6..2648ef3 100644
--- a/src/joystick/windows/SDL_dxjoystick.c
+++ b/src/joystick/windows/SDL_dxjoystick.c
@@ -1552,21 +1552,7 @@ SDL_SYS_JoystickUpdate(SDL_Joystick * joystick)
 void
 SDL_SYS_JoystickClose(SDL_Joystick * joystick)
 {
-    if ( joystick->hwdata->bXInputDevice )
-    {
-        JoyStick_DeviceData *joysticklist = SYS_Joystick;
-        /* scan the opened joysticks and clear the userid for this instance */
-        for( ; joysticklist; joysticklist = joysticklist->pNext)
-        {
-            if ( joysticklist->bXInputDevice && joysticklist->nInstanceID == joystick->instance_id )
-            {
-                joysticklist->XInputUserId = INVALID_XINPUT_USERID;
-            }
-        }
-
-    }
-    else
-    {
+    if (!joystick->hwdata->bXInputDevice) {
         IDirectInputDevice8_Unacquire(joystick->hwdata->InputDevice);
         IDirectInputDevice8_Release(joystick->hwdata->InputDevice);
     }