Index: qgslegend.cpp =================================================================== --- qgslegend.cpp (revisión: 10966) +++ qgslegend.cpp (copia de trabajo) @@ -255,20 +255,27 @@ if ( action == QgsLegendItem::REORDER || action == QgsLegendItem::INSERT ) { QgsDebugMsg( "mouseMoveEvent::REORDER/INSERT top half" ); - if ( origin->nextSibling() != dest ) + if ( origin->type() == QgsLegendItem::LEGEND_LAYER_FILE && dest->type() == QgsLegendItem::LEGEND_LAYER_FILE_GROUP) { - if ( origin->parent() != dest->parent() ) + setCursor( QCursor( Qt::ForbiddenCursor ) ); + } + else + { + if ( origin->nextSibling() != dest ) { - moveItem( origin, dest ); - moveItem( dest, origin ); + if ( origin->parent() != dest->parent() ) + { + moveItem( origin, dest ); + moveItem( dest, origin ); + } + else + { + moveItem( dest, origin ); + } } - else - { - moveItem( dest, origin ); - } + setCursor( QCursor( Qt::SizeVerCursor ) ); + setCurrentItem( origin ); } - setCursor( QCursor( Qt::SizeVerCursor ) ); - setCurrentItem( origin ); } else {