]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphiniconsview.cpp
fix crash for the following use case:
[dolphin.git] / src / dolphiniconsview.cpp
index ed2593c97a0759e45f383d3ebe90af4dcda72ecb..95ea011b03aa83a2514ce3c3f6b069398dba0929 100644 (file)
@@ -147,9 +147,8 @@ QRect DolphinIconsView::visualRect(const QModelIndex& index) const
         const IconsModeSettings* settings = DolphinSettings::instance().iconsModeSettings();
         const int margin = settings->gridSpacing() / 2;
         const int gridWidth = gridSize().width();
-        int left = itemRect.left();
-        left = ((left - margin + 1) / gridWidth) * gridWidth + margin;
-        itemRect.moveLeft(left);
+        const int gridIndex = (itemRect.left() - margin + 1) / gridWidth;
+        itemRect.moveLeft(gridIndex * gridWidth + margin);
     }
 
     return itemRect;
@@ -163,7 +162,9 @@ QStyleOptionViewItem DolphinIconsView::viewOptions() const
 void DolphinIconsView::contextMenuEvent(QContextMenuEvent* event)
 {
     KCategorizedView::contextMenuEvent(event);
-    m_controller->triggerContextMenuRequest(event->pos());
+    if (selectionModel()->hasSelection()) {
+        m_controller->triggerContextMenuRequest(event->pos());
+    }
 }
 
 void DolphinIconsView::mousePressEvent(QMouseEvent* event)