Browse Source

Make sure we don't try to use the XInput DLL after it's unloaded

Steam ran into a crash SDL_XINPUT_JoystickDetect() with XINPUTGETCAPABILITIES being NULL. I'm not sure how that happened, and there may still be a race condition if this is a multi-threaded issue, but at least this is more correct.
Sam Lantinga 1 year ago
parent
commit
0ae4fd0ec9
1 changed files with 1 additions and 0 deletions
  1. 1 0
      src/joystick/windows/SDL_xinputjoystick.c

+ 1 - 0
src/joystick/windows/SDL_xinputjoystick.c

@@ -417,6 +417,7 @@ void SDL_XINPUT_JoystickClose(SDL_Joystick *joystick)
 void SDL_XINPUT_JoystickQuit(void)
 void SDL_XINPUT_JoystickQuit(void)
 {
 {
     if (s_bXInputEnabled) {
     if (s_bXInputEnabled) {
+        s_bXInputEnabled = SDL_FALSE;
         WIN_UnloadXInputDLL();
         WIN_UnloadXInputDLL();
     }
     }
 }
 }