diff options
author | Gabriel de Dietrich <gabriel.dedietrich@digia.com> | 2014-09-25 19:53:49 +0200 |
---|---|---|
committer | Gabriel de Dietrich <gabriel.dedietrich@digia.com> | 2014-09-29 13:38:57 +0200 |
commit | 996054f5e65bc676aaea0743c2eacec51918e4aa (patch) | |
tree | 413274a193878db1f0fc6171232bb93b4d8858f1 /src/plugins/platforms/cocoa/qcocoamenu.h | |
parent | 9dcc3a57282f60e2394a2a54fc0a735a4240c5c8 (diff) |
QCocoaMenu: Keep a reference to the containing menu item
This allows the menu to tell its containing item the menu got
deleted. This removes the need to reset the COCOA_MENU_ANCESTOR
property value, which would crash since QCocoaMenuItem::m_menu
would be a dangling pointer.
Task-number: QTBUG-41587
Change-Id: Ia3408ef85cf823bfddbc2c41d6534e43bf14ed29
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Diffstat (limited to 'src/plugins/platforms/cocoa/qcocoamenu.h')
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoamenu.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoamenu.h b/src/plugins/platforms/cocoa/qcocoamenu.h index 3ee1dab84d..a05d2a4a38 100644 --- a/src/plugins/platforms/cocoa/qcocoamenu.h +++ b/src/plugins/platforms/cocoa/qcocoamenu.h @@ -94,6 +94,10 @@ public: QList<QCocoaMenuItem *> merged() const; void setMenuBar(QCocoaMenuBar *menuBar); QCocoaMenuBar *menuBar() const; + + void setContainingMenuItem(QCocoaMenuItem *menuItem); + QCocoaMenuItem *containingMenuItem() const; + private: QCocoaMenuItem *itemOrNull(int index) const; void insertNative(QCocoaMenuItem *item, QCocoaMenuItem *beforeItem); @@ -106,6 +110,7 @@ private: bool m_visible; quintptr m_tag; QCocoaMenuBar *m_menuBar; + QCocoaMenuItem *m_containingMenuItem; }; QT_END_NAMESPACE |