summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPasi Matilainen <pasi.matilainen@digia.com>2012-04-02 13:38:03 +0300
committerQt by Nokia <qt-info@nokia.com>2012-06-06 02:03:05 +0200
commitb24bf21fcbee73c9af87b60f890d741c31066fa9 (patch)
treefa735f052a3b6b4f9d61a7aac30bd4f8cc342aa8
parent7443895857fdaee132c8efc643e471f02b3d0fa4 (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.mm3
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;