static void media_list_item_deleted( const libvlc_event_t * p_event, void * user_data ) { libvlc_media_t * p_md; libvlc_media_list_view_t * p_mlv = user_data; int index = p_event->u.media_list_item_deleted.index; p_md = p_event->u.media_list_item_deleted.item; libvlc_media_list_view_item_deleted( p_mlv, p_md, index ); }
/************************************************************************** * ml_item_removed (private) (Callback from media_list_view) **************************************************************************/ static void ml_item_removed( const libvlc_event_t * p_event, libvlc_media_list_view_t * p_mlv ) { libvlc_media_t * p_md = p_event->u.media_list_item_deleted.item; int i = vlc_array_index_of_item( &p_mlv->p_this_view_data->array, p_md ); if( i >= 0 ) { libvlc_media_list_view_will_delete_item( p_mlv, p_md, i ); vlc_array_remove( &p_mlv->p_this_view_data->array, i ); libvlc_media_list_view_item_deleted( p_mlv, p_md, i ); libvlc_media_release( p_md ); } }
static void media_list_item_deleted( const libvlc_event_t * p_event, void * user_data ) { libvlc_media_t * p_md; libvlc_media_list_view_t * p_mlv = user_data; int index; p_md = p_event->u.media_list_item_deleted.item; index = index_of_item( p_mlv, p_md ); trace("%d\n", index); if( index >= 0) libvlc_media_list_view_item_deleted( p_mlv, p_md, index ); libvlc_event_detach( p_md->p_event_manager, libvlc_MediaSubItemAdded, items_subitems_added, p_mlv, NULL ); }