]> git.sesse.net Git - vlc/blobdiff - src/playlist/item.c
Revert "playlist: refactor and fix #3932"
[vlc] / src / playlist / item.c
index 8213308fbb247a92ebb153e62e678004e262fd93..5f06fb3c01df7cb841456ba621a983f671b29e80 100644 (file)
@@ -744,6 +744,9 @@ static void ChangeToNode( playlist_t *p_playlist, playlist_item_t *p_item )
 int playlist_DeleteItem( playlist_t * p_playlist, playlist_item_t *p_item,
                         bool b_stop )
 {
+    assert( b_stop );
+    return playlist_NodeDelete( p_playlist, p_item, true, false );
+#if 0
     int i;
     int i_id = p_item->i_id;
     PL_ASSERT_LOCKED;
@@ -790,6 +793,7 @@ int playlist_DeleteItem( playlist_t * p_playlist, playlist_item_t *p_item,
     playlist_ItemRelease( p_item );
 
     return VLC_SUCCESS;
+#endif
 }
 
 static int RecursiveAddIntoParent (
@@ -821,9 +825,6 @@ static int RecursiveAddIntoParent (
           if( !p_new_item ) return i_pos;
 
           i_pos++;
-
-          //Swap parent for new item, if we will recurse
-          if( b_children ) p_parent = p_new_item;
       }
       //Recurse if any children
       if( b_children )
@@ -831,7 +832,9 @@ static int RecursiveAddIntoParent (
           //Substitute p_new_item for first child leaf
           //(If flat, continue counting from current position)
           int i_last_pos = RecursiveAddIntoParent(
-                                      p_playlist, p_parent, p_child_node,
+                                      p_playlist,
+                                      p_new_item ? p_new_item : p_parent,
+                                      p_child_node,
                                       ( b_flat ? i_pos : 0 ),
                                       b_flat,
                                       &p_new_item );