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

From 0ae4fd0ec9e2d6b048cde926653b7895b380232b Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Wed, 26 Jun 2024 15:42:06 -0700
Subject: [PATCH] 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.
---
 src/joystick/windows/SDL_xinputjoystick.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/joystick/windows/SDL_xinputjoystick.c b/src/joystick/windows/SDL_xinputjoystick.c
index 133461972ce0f..2489b7bb37e43 100644
--- a/src/joystick/windows/SDL_xinputjoystick.c
+++ b/src/joystick/windows/SDL_xinputjoystick.c
@@ -417,6 +417,7 @@ void SDL_XINPUT_JoystickClose(SDL_Joystick *joystick)
 void SDL_XINPUT_JoystickQuit(void)
 {
     if (s_bXInputEnabled) {
+        s_bXInputEnabled = SDL_FALSE;
         WIN_UnloadXInputDLL();
     }
 }