Преглед на файлове

gamepad: Fix inability to disable SDL_EVENT_GAMEPAD_UPDATE_COMPLETE events

(cherry picked from commit 712c76fdc1d036f6a01c1876be5e0aa63b312d11)
Cameron Gutman преди 3 седмици
родител
ревизия
16f6c1058c
променени са 1 файла, в които са добавени 11 реда и са изтрити 9 реда
  1. 11 9
      src/joystick/SDL_gamepad.c

+ 11 - 9
src/joystick/SDL_gamepad.c

@@ -405,15 +405,17 @@ static bool SDLCALL SDL_GamepadEventWatcher(void *userdata, SDL_Event *event)
     {
         SDL_AssertJoysticksLocked();
 
-        for (gamepad = SDL_gamepads; gamepad; gamepad = gamepad->next) {
-            if (gamepad->joystick->instance_id == event->jdevice.which) {
-                SDL_Event deviceevent;
-
-                deviceevent.type = SDL_EVENT_GAMEPAD_UPDATE_COMPLETE;
-                deviceevent.common.timestamp = event->jdevice.timestamp;
-                deviceevent.gdevice.which = event->jdevice.which;
-                SDL_PushEvent(&deviceevent);
-                break;
+        if (SDL_EventEnabled(SDL_EVENT_GAMEPAD_UPDATE_COMPLETE)) {
+            for (gamepad = SDL_gamepads; gamepad; gamepad = gamepad->next) {
+                if (gamepad->joystick->instance_id == event->jdevice.which) {
+                    SDL_Event deviceevent;
+
+                    deviceevent.type = SDL_EVENT_GAMEPAD_UPDATE_COMPLETE;
+                    deviceevent.common.timestamp = event->jdevice.timestamp;
+                    deviceevent.gdevice.which = event->jdevice.which;
+                    SDL_PushEvent(&deviceevent);
+                    break;
+                }
             }
         }
     } break;