]> git.sesse.net Git - vlc/commitdiff
D&D fixes
authorClément Stenac <zorglub@videolan.org>
Sun, 15 Oct 2006 19:09:02 +0000 (19:09 +0000)
committerClément Stenac <zorglub@videolan.org>
Sun, 15 Oct 2006 19:09:02 +0000 (19:09 +0000)
modules/gui/qt4/components/playlist/selector.cpp
src/playlist/item.c

index ea0f7d21e99af821b1ea66829987c4e119ebe841..50f966f729eabd71b92763333f19689d070fd6ae 100644 (file)
@@ -38,7 +38,6 @@ PLSelector::PLSelector( QWidget *p, intf_thread_t *_p_intf,
     view->header()->hide();
     view->setModel( model );
 
-    view->setDragEnabled(true);
     view->setAcceptDrops(true);
     view->setDropIndicatorShown(true);
 
index 3de60654c72f776ca3d27ec5d995167baee742df..58928ee8e67d7677878dd3374ff5d5e2b2ffd49a 100644 (file)
@@ -498,6 +498,10 @@ int playlist_TreeMove( playlist_t * p_playlist, playlist_item_t *p_item,
     {
         /* Fixme: avoid useless lookups but we need some clean helpers */
         {
+            /* Fixme: if we try to move a node on a top-level node, it will
+             * fail because the node doesn't exist in onelevel and we will
+             * do some shit in onelevel. We should recursively move all items
+             * within the node */
             playlist_item_t *p_node_onelevel;
             playlist_item_t *p_item_onelevel;
             p_node_onelevel = playlist_ItemFindFromInputAndRoot( p_playlist,
@@ -508,7 +512,8 @@ int playlist_TreeMove( playlist_t * p_playlist, playlist_item_t *p_item,
                                                 p_item->p_input->i_id,
                                                 p_playlist->p_root_onelevel,
                                                 VLC_FALSE );
-            TreeMove( p_playlist, p_item_onelevel, p_node_onelevel, 0 );
+            if( p_node_onelevel && p_item_onelevel )
+                TreeMove( p_playlist, p_item_onelevel, p_node_onelevel, 0 );
         }
         {
             playlist_item_t *p_node_category;
@@ -521,7 +526,8 @@ int playlist_TreeMove( playlist_t * p_playlist, playlist_item_t *p_item,
                                                 p_item->p_input->i_id,
                                                 p_playlist->p_root_category,
                                                 VLC_FALSE );
-            TreeMove( p_playlist, p_item_category, p_node_category, 0 );
+            if( p_node_category && p_item_category )
+                TreeMove( p_playlist, p_item_category, p_node_category, 0 );
         }
         return VLC_SUCCESS;
     }