]> git.sesse.net Git - vlc/blobdiff - modules/gui/wxwidgets/dialogs/playlist.cpp
playlist: Make sure we don't pl_Release(p_playlist).
[vlc] / modules / gui / wxwidgets / dialogs / playlist.cpp
index e3349ee72ebd6ce7825a253c3c66154b2ab9714d..9ca6fc98ff4a4cf1cc62e92e66a56a2cd23cddf5 100644 (file)
@@ -217,8 +217,7 @@ Playlist::Playlist( intf_thread_t *_p_intf, wxWindow *p_parent ):
     i_sort_mode = MODE_NONE;
     b_need_update = false;
     i_items_to_append = 0;
-    p_playlist = (playlist_t *)vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
-                                                FIND_ANYWHERE );
+    p_playlist = pl_Yield( p_intf );
     if( p_playlist == NULL ) return;
 
     SetIcon( *p_intf->p_sys->p_icon );
@@ -1288,8 +1287,9 @@ bool PlaylistFileDropTarget::OnDropFiles( wxCoord x, wxCoord y,
         char *psz_utf8 = wxDnDFromLocale( filenames[i] );
         input_item_t *p_input = input_ItemNew( p->p_playlist,
                                               psz_utf8, psz_utf8 );
-        int i_ret = ( playlist_NodeAddInput( p->p_playlist, p_input, p_dest,
-                PLAYLIST_PREPARSE, i_pos, false ) != VLC_SUCCESS );
+        int i_ret = ( playlist_BothAddInput( p->p_playlist, p_input, p_dest,
+                PLAYLIST_PREPARSE, i_pos, NULL, NULL, pl_Unlocked ) != VLC_SUCCESS );
+        vlc_gc_decref( p_input );
         wxDnDLocaleFree( psz_utf8 );
         if( i_ret != VLC_SUCCESS )
             return FALSE;