]> git.sesse.net Git - vlc/commitdiff
misc/events.c: Fix a case about a callback non being called.
authorPierre d'Herbemont <pdherbemont@videolan.org>
Mon, 25 Feb 2008 18:22:05 +0000 (18:22 +0000)
committerPierre d'Herbemont <pdherbemont@videolan.org>
Mon, 25 Feb 2008 18:22:05 +0000 (18:22 +0000)
src/misc/events.c

index 3bad1d8bcdc46ab22a42be6af14ec9f2197462ec..9960ac172dee22bed0684e0b3f81e9f48fc95ed1 100644 (file)
@@ -80,13 +80,21 @@ static const char * ppsz_event_type_to_name[] =
 };
 #endif
 
+static vlc_bool_t
+listeners_are_equal( vlc_event_listener_t * listener1,
+                     vlc_event_listener_t * listener2 )
+{
+    return listener1->pf_callback == listener2->pf_callback &&
+           listener1->p_user_data == listener2->p_user_data;
+}
+
 static vlc_bool_t
 group_contains_listener( vlc_event_listeners_group_t * group,
                          vlc_event_listener_t * searched_listener )
 {
     vlc_event_listener_t * listener;
     FOREACH_ARRAY( listener, group->listeners )
-        if( searched_listener == listener )
+        if( listeners_are_equal(searched_listener, listener) )
             return VLC_TRUE;
     FOREACH_END()
     return VLC_FALSE;