diff --git a/ui/drivers/ui_cocoa.m b/ui/drivers/ui_cocoa.m index fb703b27eb..73e57ebefb 100644 --- a/ui/drivers/ui_cocoa.m +++ b/ui/drivers/ui_cocoa.m @@ -207,14 +207,15 @@ static char** waiting_argv; static void poll_iteration(void) { - NSEvent *event = NULL; - - do + while (1) { - event = [NSApp nextEventMatchingMask:NSAnyEventMask untilDate:[NSDate distantPast] inMode:NSDefaultRunLoopMode dequeue:YES]; - + NSEvent *event = [NSApp nextEventMatchingMask:NSAnyEventMask untilDate:[NSDate distantPast] inMode:NSDefaultRunLoopMode dequeue:YES]; + if (!event) + break; + [event retain]; [NSApp sendEvent: event]; - }while(event != nil); + [event release]; + }; } - (void) rarch_main