From: Faustino Osuna Date: Fri, 29 Feb 2008 18:41:02 +0000 (+0000) Subject: control/event.c: Fix infinite loop. X-Git-Tag: 0.9.0-test0~2416 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=5411dcebd76fe63bb0564d9ed83a119f9c0e958d;p=vlc control/event.c: Fix infinite loop. --- diff --git a/src/control/event.c b/src/control/event.c index 2482faf7d6..1fd96c0caa 100644 --- a/src/control/event.c +++ b/src/control/event.c @@ -368,7 +368,7 @@ void libvlc_event_detach_lock_state( libvlc_event_manager_t *p_event_manager, { libvlc_event_listeners_group_t * listeners_group; libvlc_event_listener_t * listener; - int i; + int i, j; if( lockstate == libvlc_UnLocked ) vlc_mutex_lock( &p_event_manager->event_sending_lock ); @@ -378,16 +378,16 @@ void libvlc_event_detach_lock_state( libvlc_event_manager_t *p_event_manager, listeners_group = vlc_array_item_at_index(&p_event_manager->listeners_groups, i); if( listeners_group->event_type == event_type ) { - for( i = 0; i < vlc_array_count(&listeners_group->listeners); i++) + for( j = 0; j < vlc_array_count(&listeners_group->listeners); j++) { - listener = vlc_array_item_at_index(&listeners_group->listeners, i); + listener = vlc_array_item_at_index(&listeners_group->listeners, j); if( listener->event_type == event_type && listener->pf_callback == pf_callback && listener->p_user_data == p_user_data ) { /* that's our listener */ free( listener ); - vlc_array_remove( &listeners_group->listeners, i ); + vlc_array_remove( &listeners_group->listeners, j ); vlc_mutex_unlock( &p_event_manager->object_lock ); if( lockstate == libvlc_UnLocked ) vlc_mutex_unlock( &p_event_manager->event_sending_lock );