[vlc-commits] playlist: unregister input item callbacks at exit (fixes #17087)

Rémi Denis-Courmont git at videolan.org
Thu Nov 17 21:17:36 CET 2016


vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Thu Nov 17 22:05:18 2016 +0200| [4d1a065d485e7c107269102677f68d612e77f65f] | committer: Rémi Denis-Courmont

playlist: unregister input item callbacks at exit (fixes #17087)

Destroy remaining playlist items normally.

This does NOT fix #17652.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=4d1a065d485e7c107269102677f68d612e77f65f
---

 src/playlist/engine.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/src/playlist/engine.c b/src/playlist/engine.c
index feda7ad..dbb2723 100644
--- a/src/playlist/engine.c
+++ b/src/playlist/engine.c
@@ -324,17 +324,14 @@ void playlist_Destroy( playlist_t *p_playlist )
     set_current_status_node( p_playlist, NULL );
     /* Release the current item */
     set_current_status_item( p_playlist, NULL );
+
+    /* Remove all remaining items */
+    playlist_NodeDelete( p_playlist, p_playlist->p_root, true );
     PL_UNLOCK;
 
     vlc_cond_destroy( &p_sys->signal );
     vlc_mutex_destroy( &p_sys->lock );
 
-    /* Remove all remaining items */
-    FOREACH_ARRAY( playlist_item_t *p_del, p_sys->all_items )
-        free( p_del->pp_children );
-        vlc_gc_decref( p_del->p_input );
-        free( p_del );
-    FOREACH_END();
     ARRAY_RESET( p_sys->all_items );
 
     ARRAY_RESET( p_playlist->items );



More information about the vlc-commits mailing list