┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/dolphinmainwindow.cpp
diff options
context:
space:
mode:
authorEmmanuel Pescosta <[email protected]>2015-01-29 13:45:14 +0100
committerEmmanuel Pescosta <[email protected]>2015-01-29 13:45:14 +0100
commitf8187b982afbcd16d15756d8a9840222cfe91d2d (patch)
tree7346b5ef082bab7bbc432d783a7a8b7a80a8bafd /src/dolphinmainwindow.cpp
parenta06ee3399bece608790e419054f95807a017a020 (diff)
Revert commit 0c6c76b038e868e225f7816fae39635d472bce0a and make the
QWeakPointer a QPointer (+comment) to make it clear, that we must track the lifetime of the context menu instead of doing "only" out of scope deleting. Thanks to Frank for pointing out this problem! CCMAIL: [email protected]
Diffstat (limited to 'src/dolphinmainwindow.cpp')
-rw-r--r--src/dolphinmainwindow.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp
index 398af70a8..1360a42e5 100644
--- a/src/dolphinmainwindow.cpp
+++ b/src/dolphinmainwindow.cpp
@@ -758,7 +758,7 @@ void DolphinMainWindow::openContextMenu(const QPoint& pos,
const QUrl& url,
const QList<QAction*>& customActions)
{
- QScopedPointer<DolphinContextMenu> contextMenu(new DolphinContextMenu(this, pos, item, url));
+ QPointer<DolphinContextMenu> contextMenu = new DolphinContextMenu(this, pos, item, url);
contextMenu.data()->setCustomActions(customActions);
const DolphinContextMenu::Command command = contextMenu.data()->open();
@@ -781,6 +781,11 @@ void DolphinMainWindow::openContextMenu(const QPoint& pos,
default:
break;
}
+
+ // Delete the menu, unless it has been deleted in its own nested event loop already.
+ if (contextMenu) {
+ contextMenu->deleteLater();
+ }
}
void DolphinMainWindow::updateControlMenu()