diff options
author | Pasi Matilainen <pasi.matilainen@digia.com> | 2012-04-02 13:38:03 +0300 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-06-06 02:03:05 +0200 |
commit | b24bf21fcbee73c9af87b60f890d741c31066fa9 (patch) | |
tree | fa735f052a3b6b4f9d61a7aac30bd4f8cc342aa8 | |
parent | 7443895857fdaee132c8efc643e471f02b3d0fa4 (diff) |
Do not set an action on native submenu items on Mac
On Mac, clicking on a submenu entry triggers QMenu::triggered(QAction*)
signal, which is unexpected, and also closes the submenu, which does
not match platform behavior. This happens because native submenu items
have an action set, so fix it by not setting the action.
Task-number: QTBUG-16738
Task-number: QTBUG-10706
Change-Id: I6819999e5af35e6acab1aec035d5d85445189f11
Reviewed-by: James Turner <james.turner@kdab.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoamenu.mm | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoamenu.mm b/src/plugins/platforms/cocoa/qcocoamenu.mm index 9e466deb9a..e64386cc5a 100644 --- a/src/plugins/platforms/cocoa/qcocoamenu.mm +++ b/src/plugins/platforms/cocoa/qcocoamenu.mm @@ -133,7 +133,8 @@ void QCocoaMenu::insertMenuItem(QPlatformMenuItem *menuItem, QPlatformMenuItem * void QCocoaMenu::insertNative(QCocoaMenuItem *item, QCocoaMenuItem *beforeItem) { [item->nsItem() setTarget:m_delegate]; - [item->nsItem() setAction:@selector(itemFired:)]; + if (!item->menu()) + [item->nsItem() setAction:@selector(itemFired:)]; if (item->isMerged()) return; |