Mac: Run the CFRunLoop in joystick mode during SDL_SYS_JoystickNeedsPolling().
This fixes hotplugging failing to detect devices.
--- a/src/joystick/darwin/SDL_sysjoystick.c Fri Jun 13 10:50:24 2014 -0700
+++ b/src/joystick/darwin/SDL_sysjoystick.c Fri Jun 13 14:52:26 2014 -0400
@@ -604,7 +604,9 @@
SDL_bool
SDL_SYS_JoystickNeedsPolling()
{
- // BUGBUG - only works if someone else is pumping the CFRunLoop...
+ while (CFRunLoopRunInMode(SDL_JOYSTICK_RUNLOOP_MODE,0,TRUE) == kCFRunLoopRunHandledSource) {
+ /* no-op. Pending callbacks will fire in CFRunLoopRunInMode(). */
+ }
return s_bDeviceAdded || s_bDeviceRemoved;
}