Commit d062f932 authored by Pierre d'Herbemont's avatar Pierre d'Herbemont

MacOSX/Framework/VLCEventManager.m: Don't send grouped events to the same...

MacOSX/Framework/VLCEventManager.m: Don't send grouped events to the same target if there is an event in-between.
parent d6271bf0
...@@ -133,9 +133,11 @@ static void * EventDispatcherMainLoop(void * user_data) ...@@ -133,9 +133,11 @@ static void * EventDispatcherMainLoop(void * user_data)
[message_newer->u.object release]; [message_newer->u.object release];
[[self messageQueue] removeObjectAtIndex:i]; [[self messageQueue] removeObjectAtIndex:i];
} }
/* It should be a good idea not to collapse event, with other kind of event in-between /* It shouldn be a good idea not to collapse event with other kind of event in-between.
* This could be particulary problematic when the same object receive two related events
* (for instance Added and Removed).
* Ignore for now only if target is the same */ * Ignore for now only if target is the same */
else if( message_newer->target != message->target ) else if( message_newer->target == message->target )
break; break;
} }
...@@ -207,6 +209,7 @@ static void * EventDispatcherMainLoop(void * user_data) ...@@ -207,6 +209,7 @@ static void * EventDispatcherMainLoop(void * user_data)
- (void)callOnMainThreadDelegateOfObject:(id)aTarget withDelegateMethod:(SEL)aSelector withNotificationName: (NSString *)aNotificationName - (void)callOnMainThreadDelegateOfObject:(id)aTarget withDelegateMethod:(SEL)aSelector withNotificationName: (NSString *)aNotificationName
{ {
/* Don't send on main thread before this gets sorted out */
// NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; // NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
message_t message = message_t message =
...@@ -229,7 +232,7 @@ static void * EventDispatcherMainLoop(void * user_data) ...@@ -229,7 +232,7 @@ static void * EventDispatcherMainLoop(void * user_data)
// pthread_mutex_unlock( [self queueLock] ); // pthread_mutex_unlock( [self queueLock] );
// } // }
[pool release]; // [pool release];
} }
- (void)callOnMainThreadObject:(id)aTarget withMethod:(SEL)aSelector withArgumentAsObject: (id)arg - (void)callOnMainThreadObject:(id)aTarget withMethod:(SEL)aSelector withArgumentAsObject: (id)arg
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment