Commit 201868156e90790213935b8d75de9d5b4052ac8e

Ryan C. Gordon 2015-02-19T23:52:10

Mac OS X: Better way to stop duplicate joystick reports (thanks, Kyungdahm!). Fixes Bugzilla #2822.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
diff --git a/src/joystick/darwin/SDL_sysjoystick.c b/src/joystick/darwin/SDL_sysjoystick.c
index 0518cc7..ac40e32 100644
--- a/src/joystick/darwin/SDL_sysjoystick.c
+++ b/src/joystick/darwin/SDL_sysjoystick.c
@@ -446,9 +446,9 @@ ConfigHIDManager(CFArrayRef matchingArray)
         return SDL_FALSE;
     }
 
+    IOHIDManagerSetDeviceMatchingMultiple(hidman, matchingArray);
     IOHIDManagerRegisterDeviceMatchingCallback(hidman, JoystickDeviceWasAddedCallback, NULL);
     IOHIDManagerScheduleWithRunLoop(hidman, runloop, SDL_JOYSTICK_RUNLOOP_MODE);
-    IOHIDManagerSetDeviceMatchingMultiple(hidman, matchingArray);
 
     while (CFRunLoopRunInMode(SDL_JOYSTICK_RUNLOOP_MODE,0,TRUE) == kCFRunLoopRunHandledSource) {
         /* no-op. Callback fires once per existing device. */