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.

(cherry picked from commit 0ae4fd0ec9e2d6b048cde926653b7895b380232b)
(cherry picked from commit ee3b2b7de1000be07339a967385614aa13fcad60)
Sam Lantinga 9 months ago
parent
commit
a9fdbf7f21
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

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