summaryrefslogtreecommitdiffstats
path: root/src/widgets
diff options
context:
space:
mode:
authorGabriel de Dietrich <gabriel.dedietrich@digia.com>2013-04-17 17:39:15 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-04-18 15:31:18 +0200
commit2bd846f8da8c6e8c61539f2cc986df4602e5d80e (patch)
tree9a8ec4de1e766d8c0187d7c12651a100f5011bd5 /src/widgets
parent8cbc7ef05cbf8da8a3f3d39c22900c18ac32465e (diff)
Cocoa Menu: Remove unnecessary retain, release/retain in the right order
Also, make sure platform menu item is deleted on ActionRemoved event. Change-Id: Ic07a81cb77833bdffd1464abf1c81ebdee4d16e9 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Diffstat (limited to 'src/widgets')
-rw-r--r--src/widgets/widgets/qmenu.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/widgets/widgets/qmenu.cpp b/src/widgets/widgets/qmenu.cpp
index 6b02e7371f..aaedd7ffee 100644
--- a/src/widgets/widgets/qmenu.cpp
+++ b/src/widgets/widgets/qmenu.cpp
@@ -3004,6 +3004,7 @@ void QMenu::actionEvent(QActionEvent *e)
} else if (e->type() == QEvent::ActionRemoved) {
QPlatformMenuItem *menuItem = d->platformMenu->menuItemForTag(reinterpret_cast<quintptr>(e->action()));
d->platformMenu->removeMenuItem(menuItem);
+ delete menuItem;
} else if (e->type() == QEvent::ActionChanged) {
QPlatformMenuItem *menuItem = d->platformMenu->menuItemForTag(reinterpret_cast<quintptr>(e->action()));
copyActionToPlatformItem(e->action(), menuItem);