diff --git a/dlls/winemac.drv/cocoa_event.m b/dlls/winemac.drv/cocoa_event.m index faeb033f629..3b35576600b 100644 --- a/dlls/winemac.drv/cocoa_event.m +++ b/dlls/winemac.drv/cocoa_event.m @@ -171,10 +171,16 @@ - (void) signalEventAvailable - (void) postEventObject:(MacDrvEvent*)event { + NSIndexSet* indexes; MacDrvEvent* lastEvent; [eventsLock lock]; + indexes = [events indexesOfObjectsPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop){ + return ((MacDrvEvent*)obj)->event->deliver <= 0; + }]; + [events removeObjectsAtIndexes:indexes]; + if ((event->event->type == MOUSE_MOVED || event->event->type == MOUSE_MOVED_ABSOLUTE) && event->event->deliver == INT_MAX &&