Commit 8973a25849b30c7e778c49e73d6f546b9a5d155a

Sam Lantinga 2020-11-27T10:44:56

Enable dispatching of WM_INPUT_DEVICE_CHANGE events directly, in case the application hasn't created a window with the normal message loop

diff --git a/src/joystick/windows/SDL_rawinputjoystick.c b/src/joystick/windows/SDL_rawinputjoystick.c
index d88e831..3554d75 100644
--- a/src/joystick/windows/SDL_rawinputjoystick.c
+++ b/src/joystick/windows/SDL_rawinputjoystick.c
@@ -642,7 +642,7 @@ RAWINPUT_GetPendingDeviceChanges(void)
 
 static SDL_bool pump_device_events;
 static void
-RAWINPUT_GetPendingDeviceEvents(void)
+RAWINPUT_GetPendingDeviceInput(void)
 {
     if (pump_device_events) {
         MSG msg;
@@ -985,6 +985,8 @@ RAWINPUT_IsDevicePresent(Uint16 vendor_id, Uint16 product_id, Uint16 version, co
 static void
 RAWINPUT_JoystickDetect(void)
 {
+    RAWINPUT_GetPendingDeviceChanges();
+
     RAWINPUT_PostUpdate();
 }
 
@@ -1722,7 +1724,7 @@ RAWINPUT_UpdateOtherAPIs(SDL_Joystick *joystick)
 static void
 RAWINPUT_JoystickUpdate(SDL_Joystick *joystick)
 {
-    RAWINPUT_GetPendingDeviceEvents();
+    RAWINPUT_GetPendingDeviceInput();
 
     RAWINPUT_UpdateOtherAPIs(joystick);
 }