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>
This commit is contained in:
parent
7443895857
commit
b24bf21fcb
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user