]> cloud.milkyroute.net Git - dolphin.git/commitdiff
fix crash during drag & drop if the file item is not available (thanks to John Tapsel...
authorPeter Penz <peter.penz19@gmail.com>
Wed, 28 Nov 2007 17:07:08 +0000 (17:07 +0000)
committerPeter Penz <peter.penz19@gmail.com>
Wed, 28 Nov 2007 17:07:08 +0000 (17:07 +0000)
svn path=/trunk/KDE/kdebase/apps/; revision=742703

src/dolphincolumnwidget.cpp
src/dolphindetailsview.cpp
src/dolphiniconsview.cpp

index 1a7f712f38e2a3681f81fd941eab1239c4409973..677215972d2b35aa027a6810c538a5e6edbdb72b 100644 (file)
@@ -227,10 +227,13 @@ void DolphinColumnWidget::dragMoveEvent(QDragMoveEvent* event)
     // TODO: remove this code when the issue #160611 is solved in Qt 4.4
     const QModelIndex index = indexAt(event->pos());
     setDirtyRegion(m_dropRect);
-    if (itemForIndex(index).isDir()) {
-        m_dropRect = visualRect(index);
-    } else {
-        m_dropRect.setSize(QSize()); // set as invalid
+
+    m_dropRect.setSize(QSize()); // set as invalid
+    if (index.isValid()) {
+        const KFileItem item = itemForIndex(index);
+        if (!item.isNull() && item.isDir()) {
+            m_dropRect = visualRect(index);
+        }
     }
     setDirtyRegion(m_dropRect);
 }
index 3fd1e94680dc6b654ede2cf107a06dbba14db05f..55851dc95da294b3f030b6fc2373f7adb1df3399 100644 (file)
@@ -251,7 +251,8 @@ void DolphinDetailsView::dragMoveEvent(QDragMoveEvent* event)
         m_dragging = false;
     } else {
         m_dragging = true;
-        if (itemForIndex(index).isDir()) {
+        const KFileItem item = itemForIndex(index);
+        if (!item.isNull() && item.isDir()) {
             m_dropRect = visualRect(index);
         } else {
             m_dropRect.setSize(QSize()); // set as invalid
index 1e2e66f5aa6a7d92bf473b7a2f45a91caf8b8a0a..61179a3ac4446c2d97a73b44b49124b8f151e317 100644 (file)
@@ -215,17 +215,12 @@ void DolphinIconsView::dragMoveEvent(QDragMoveEvent* event)
     const QModelIndex index = indexAt(event->pos());
     setDirtyRegion(m_dropRect);
 
-    if(!index.isValid()) {
-        m_dropRect.setSize(QSize()); // set as invalid
-    } else {
-        KFileItem item = itemForIndex(index);
-        if (item.isNull()) {
-            kWarning(7007) << "Invalid item returned for index";
-        } else if (itemForIndex(index).isDir()) {
+    m_dropRect.setSize(QSize()); // set as invalid
+    if (index.isValid()) {
+        const KFileItem item = itemForIndex(index);
+        if (!item.isNull() && item.isDir()) {
             m_dropRect = visualRect(index);
-        } else {
-            m_dropRect.setSize(QSize()); // set as invalid
-       }
+        }
     }
     setDirtyRegion(m_dropRect);
 }