Commit cf5667bd authored by Rafaël Carré's avatar Rafaël Carré

Avoid leaking input items

parent fdf1b8af
......@@ -478,11 +478,9 @@ void playlist_LastLoop( playlist_t *p_playlist )
playlist_MLDump( p_playlist );
PL_LOCK;
/* Go through all items, and simply free everything without caring
* about the tree structure. Do not decref, it will be done by doing
* the same thing on the input items array */
FOREACH_ARRAY( playlist_item_t *p_del, p_playlist->all_items )
free( p_del->pp_children );
vlc_gc_decref( p_del->p_input );
free( p_del );
FOREACH_END();
ARRAY_RESET( p_playlist->all_items );
......
......@@ -151,6 +151,8 @@ int playlist_MLLoad( playlist_t *p_playlist )
p_playlist->p_ml_onelevel->p_input =
p_playlist->p_ml_category->p_input = p_input;
vlc_gc_incref( p_input );
vlc_event_attach( &p_input->event_manager, vlc_InputItemSubItemAdded,
input_item_subitem_added, p_playlist );
......@@ -194,7 +196,6 @@ int playlist_MLDump( playlist_t *p_playlist )
stats_TimerStart( p_playlist, "ML Dump", STATS_TIMER_ML_DUMP );
playlist_Export( p_playlist, psz_dirname, p_playlist->p_ml_category,
"export-xspf" );
vlc_gc_decref( p_playlist->p_ml_category->p_input );
stats_TimerStop( p_playlist, STATS_TIMER_ML_DUMP );
return VLC_SUCCESS;
......
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