From: Clément Stenac Date: Sun, 15 Oct 2006 19:09:02 +0000 (+0000) Subject: D&D fixes X-Git-Tag: 0.9.0-test0~9942 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=dfd24ab656c4edffd4ed952472ef8e4b4c95c214;p=vlc D&D fixes --- diff --git a/modules/gui/qt4/components/playlist/selector.cpp b/modules/gui/qt4/components/playlist/selector.cpp index ea0f7d21e9..50f966f729 100644 --- a/modules/gui/qt4/components/playlist/selector.cpp +++ b/modules/gui/qt4/components/playlist/selector.cpp @@ -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); diff --git a/src/playlist/item.c b/src/playlist/item.c index 3de60654c7..58928ee8e6 100644 --- a/src/playlist/item.c +++ b/src/playlist/item.c @@ -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; }