summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa/qcocoamenu.mm
diff options
context:
space:
mode:
authorGabriel de Dietrich <gabriel.dedietrich@digia.com>2014-04-30 16:46:22 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-05-02 07:16:06 +0200
commit8605f44097a986e10c2ddaf4b4eae0b2331d98d1 (patch)
tree4f55821fa30b98334a171c5acec901b40e97d78f /src/plugins/platforms/cocoa/qcocoamenu.mm
parent7eae50a52d63b7f0434fdb75fc09b0901a0140cc (diff)
Cocoa QPA Menu: Clear menu items' Cocoa ancestor on destruction
Valid for both the item and the menu destructions. Task-number: QTBUG-38685 Change-Id: I024b93c8bb8facefeaad5e8b6c7be6bf049898ea Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Diffstat (limited to 'src/plugins/platforms/cocoa/qcocoamenu.mm')
-rw-r--r--src/plugins/platforms/cocoa/qcocoamenu.mm4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoamenu.mm b/src/plugins/platforms/cocoa/qcocoamenu.mm
index 6acc062eb9..9b5753035a 100644
--- a/src/plugins/platforms/cocoa/qcocoamenu.mm
+++ b/src/plugins/platforms/cocoa/qcocoamenu.mm
@@ -234,6 +234,10 @@ QCocoaMenu::QCocoaMenu() :
QCocoaMenu::~QCocoaMenu()
{
+ foreach (QCocoaMenuItem *item, m_menuItems) {
+ if (COCOA_MENU_ANCESTOR(item) == this)
+ SET_COCOA_MENU_ANCESTOR(item, 0);
+ }
QCocoaAutoReleasePool pool;
[m_nativeItem setSubmenu:nil];
[m_nativeMenu release];