From 4ff390203caf278dcee20e1a61402431fd2166c2 Mon Sep 17 00:00:00 2001 From: Michal Klocek Date: Mon, 11 Apr 2016 19:23:18 +0200 Subject: Fix contextMenu handling in examples Adds missing deleteLater on close Change-Id: Id337856f138e0d38f0c72d3962ccac309d36c73e Reviewed-by: Kai Koehne Reviewed-by: Eike Ziller --- examples/webenginewidgets/demobrowser/webview.cpp | 7 ++++--- examples/webenginewidgets/simplebrowser/webview.cpp | 6 ++++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/examples/webenginewidgets/demobrowser/webview.cpp b/examples/webenginewidgets/demobrowser/webview.cpp index 9feedc0b5..94e872dbf 100644 --- a/examples/webenginewidgets/demobrowser/webview.cpp +++ b/examples/webenginewidgets/demobrowser/webview.cpp @@ -363,10 +363,11 @@ void WebView::contextMenuEvent(QContextMenuEvent *event) if (it != actions.cend()) { (*it)->setText(tr("Open Link in This Window")); ++it; - menu->insertAction(*it, page()->action(QWebEnginePage::OpenLinkInNewWindow)); - menu->insertAction(*it, page()->action(QWebEnginePage::OpenLinkInNewTab)); + QAction *before(it == actions.cend() ? nullptr : *it); + menu->insertAction(before, page()->action(QWebEnginePage::OpenLinkInNewWindow)); + menu->insertAction(before, page()->action(QWebEnginePage::OpenLinkInNewTab)); } - + connect(menu, &QMenu::aboutToHide, menu, &QObject::deleteLater); menu->popup(event->globalPos()); } diff --git a/examples/webenginewidgets/simplebrowser/webview.cpp b/examples/webenginewidgets/simplebrowser/webview.cpp index 1fabcc69f..de93bc0c4 100644 --- a/examples/webenginewidgets/simplebrowser/webview.cpp +++ b/examples/webenginewidgets/simplebrowser/webview.cpp @@ -154,9 +154,11 @@ void WebView::contextMenuEvent(QContextMenuEvent *event) if (it != actions.cend()) { (*it)->setText(tr("Open Link in This Tab")); ++it; - menu->insertAction(*it, page()->action(QWebEnginePage::OpenLinkInNewWindow)); - menu->insertAction(*it, page()->action(QWebEnginePage::OpenLinkInNewTab)); + QAction *before(it == actions.cend() ? nullptr : *it); + menu->insertAction(before, page()->action(QWebEnginePage::OpenLinkInNewWindow)); + menu->insertAction(before, page()->action(QWebEnginePage::OpenLinkInNewTab)); } + connect(menu, &QMenu::aboutToHide, menu, &QObject::deleteLater); menu->popup(event->globalPos()); } -- cgit v1.2.3