┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2007-11-18 13:24:43 +0000
committerPeter Penz <[email protected]>2007-11-18 13:24:43 +0000
commit8ee3363dbcc4d2e9e9f89b2737d26fcea55653a7 (patch)
treee913777c1cf6c1114e0754623fe77cd9d4bc00ff
parentafe7ee85836e824744dcab8b43f3999f1d6fa178 (diff)
fix crash for the following use case:
- open a view with no selection - press SHIFT + right mouse-click on an item - a context menu will be opened although no item has been selected -> assertion gets triggered later svn path=/trunk/KDE/kdebase/apps/; revision=738255
-rw-r--r--src/dolphincolumnwidget.cpp14
-rw-r--r--src/dolphindetailsview.cpp4
-rw-r--r--src/dolphiniconsview.cpp4
3 files changed, 14 insertions, 8 deletions
diff --git a/src/dolphincolumnwidget.cpp b/src/dolphincolumnwidget.cpp
index 2dc3bc153..7681b8838 100644
--- a/src/dolphincolumnwidget.cpp
+++ b/src/dolphincolumnwidget.cpp
@@ -309,12 +309,14 @@ void DolphinColumnWidget::contextMenuEvent(QContextMenuEvent* event)
QListView::contextMenuEvent(event);
- const QModelIndex index = indexAt(event->pos());
- if (index.isValid() || m_active) {
- // Only open a context menu above an item or if the mouse is above
- // the active column.
- const QPoint pos = m_view->viewport()->mapFromGlobal(event->globalPos());
- m_view->m_controller->triggerContextMenuRequest(pos);
+ if (selectionModel()->hasSelection()) {
+ const QModelIndex index = indexAt(event->pos());
+ if (index.isValid() || m_active) {
+ // Only open a context menu above an item or if the mouse is above
+ // the active column.
+ const QPoint pos = m_view->viewport()->mapFromGlobal(event->globalPos());
+ m_view->m_controller->triggerContextMenuRequest(pos);
+ }
}
}
diff --git a/src/dolphindetailsview.cpp b/src/dolphindetailsview.cpp
index f4bba2f03..9dd91b308 100644
--- a/src/dolphindetailsview.cpp
+++ b/src/dolphindetailsview.cpp
@@ -167,7 +167,9 @@ QStyleOptionViewItem DolphinDetailsView::viewOptions() const
void DolphinDetailsView::contextMenuEvent(QContextMenuEvent* event)
{
QTreeView::contextMenuEvent(event);
- m_controller->triggerContextMenuRequest(event->pos());
+ if (selectionModel()->hasSelection()) {
+ m_controller->triggerContextMenuRequest(event->pos());
+ }
}
void DolphinDetailsView::mousePressEvent(QMouseEvent* event)
diff --git a/src/dolphiniconsview.cpp b/src/dolphiniconsview.cpp
index 08ff9cf48..95ea011b0 100644
--- a/src/dolphiniconsview.cpp
+++ b/src/dolphiniconsview.cpp
@@ -162,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)