aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/debugger/watchhandler.cpp
diff options
context:
space:
mode:
authorEike Ziller <[email protected]>2018-06-19 10:03:28 +0200
committerEike Ziller <[email protected]>2018-06-19 10:03:28 +0200
commit3bbe535b95f3cf53b8fb9c690d765f864cb36cbb (patch)
treeb0cf231e1bdafad6d2755af81e8ba03cad534d74 /src/plugins/debugger/watchhandler.cpp
parent23e27ead9e1c09160204e1143e00c46b92351f40 (diff)
parent8623a93998a3f1b37c4fcaa10c282cb71eb4f0a3 (diff)
Merge remote-tracking branch 'origin/4.7'
Diffstat (limited to 'src/plugins/debugger/watchhandler.cpp')
-rw-r--r--src/plugins/debugger/watchhandler.cpp25
1 files changed, 13 insertions, 12 deletions
diff --git a/src/plugins/debugger/watchhandler.cpp b/src/plugins/debugger/watchhandler.cpp
index 6031ba57d11..69d26cb87f0 100644
--- a/src/plugins/debugger/watchhandler.cpp
+++ b/src/plugins/debugger/watchhandler.cpp
@@ -416,9 +416,9 @@ public:
QString removeNamespaces(QString str) const;
bool contextMenuEvent(const ItemViewEvent &ev);
- QMenu *createFormatMenu(WatchItem *item);
- QMenu *createMemoryMenu(WatchItem *item);
- QMenu *createBreakpointMenu(WatchItem *item);
+ QMenu *createFormatMenu(WatchItem *item, QWidget *parent);
+ QMenu *createMemoryMenu(WatchItem *item, QWidget *parent);
+ QMenu *createBreakpointMenu(WatchItem *item, QWidget *parent);
void addStackLayoutMemoryView(bool separateView, const QPoint &p);
@@ -1657,9 +1657,9 @@ bool WatchModel::contextMenuEvent(const ItemViewEvent &ev)
[this] { grabWidget(); });
menu->addSeparator();
- menu->addMenu(createFormatMenu(item));
- menu->addMenu(createMemoryMenu(item));
- menu->addMenu(createBreakpointMenu(item));
+ menu->addMenu(createFormatMenu(item, menu));
+ menu->addMenu(createMemoryMenu(item, menu));
+ menu->addMenu(createBreakpointMenu(item, menu));
menu->addSeparator();
addAction(menu, tr("Expand All Children"),
@@ -1712,13 +1712,14 @@ bool WatchModel::contextMenuEvent(const ItemViewEvent &ev)
menu->addSeparator();
menu->addAction(action(SettingsDialog));
+ connect(menu, &QMenu::aboutToHide, menu, &QObject::deleteLater);
menu->popup(ev.globalPos());
return true;
}
-QMenu *WatchModel::createBreakpointMenu(WatchItem *item)
+QMenu *WatchModel::createBreakpointMenu(WatchItem *item, QWidget *parent)
{
- auto menu = new QMenu(tr("Add Data Breakpoint"));
+ auto menu = new QMenu(tr("Add Data Breakpoint"), parent);
if (!item) {
menu->setEnabled(false);
return menu;
@@ -1760,9 +1761,9 @@ QMenu *WatchModel::createBreakpointMenu(WatchItem *item)
return menu;
}
-QMenu *WatchModel::createMemoryMenu(WatchItem *item)
+QMenu *WatchModel::createMemoryMenu(WatchItem *item, QWidget *parent)
{
- auto menu = new QMenu(tr("Open Memory Editor"));
+ auto menu = new QMenu(tr("Open Memory Editor"), parent);
if (!item || !m_engine->hasCapability(ShowMemoryCapability)) {
menu->setEnabled(false);
return menu;
@@ -1813,9 +1814,9 @@ QMenu *WatchModel::createMemoryMenu(WatchItem *item)
return menu;
}
-QMenu *WatchModel::createFormatMenu(WatchItem *item)
+QMenu *WatchModel::createFormatMenu(WatchItem *item, QWidget *parent)
{
- auto menu = new QMenu(tr("Change Value Display Format"));
+ auto menu = new QMenu(tr("Change Value Display Format"), parent);
if (!item) {
menu->setEnabled(false);
return menu;