summaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorMorten Sorvig <morten.sorvig@nokia.com>2011-09-12 12:31:35 +0200
committerQt by Nokia <qt-info@nokia.com>2011-09-22 09:11:45 +0200
commit91ec8261ab58061ca9e935c4e6a7f1c4a359cc27 (patch)
treeddd0423a0d407c770c8bdb3b53f4b537a17553b0 /src/plugins
parentf82431b61c9e049ef1b22d8bd909369fe1f2636d (diff)
Cocoa: Enable native menus.
Fix menu duplication bug: make QCocoaMenu::addAction do nothing before the native menu has ben created. Change-Id: Ifca192421f2073264de9f5faeb053008ecb8532e Reviewed-on: http://codereview.qt-project.org/5135 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/platforms/cocoa/qcocoaintegration.mm8
-rw-r--r--src/plugins/platforms/cocoa/qmenu_mac.mm3
2 files changed, 7 insertions, 4 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoaintegration.mm b/src/plugins/platforms/cocoa/qcocoaintegration.mm
index e3e204226f..bb17c8eef7 100644
--- a/src/plugins/platforms/cocoa/qcocoaintegration.mm
+++ b/src/plugins/platforms/cocoa/qcocoaintegration.mm
@@ -83,6 +83,8 @@ QCocoaIntegration::QCocoaIntegration()
{
mPool = new QCocoaAutoReleasePool;
+ qApp->setAttribute(Qt::AA_DontUseNativeMenuBar, false);
+
QNSApplication *cocoaApplication = [QNSApplication sharedApplication];
// Applications launched from plain executables (without an app
@@ -166,14 +168,12 @@ QPlatformFontDatabase *QCocoaIntegration::fontDatabase() const
QPlatformMenu *QCocoaIntegration::createPlatformMenu(QMenu *menu) const
{
- // return new QCocoaMenu(menu);
- return 0;
+ return new QCocoaMenu(menu);
}
QPlatformMenuBar *QCocoaIntegration::createPlatformMenuBar(QMenuBar *menuBar) const
{
- //return new QCocoaMenuBar(menuBar);
- return 0;
+ return new QCocoaMenuBar(menuBar);
}
QPlatformNativeInterface *QCocoaIntegration::nativeInterface() const
diff --git a/src/plugins/platforms/cocoa/qmenu_mac.mm b/src/plugins/platforms/cocoa/qmenu_mac.mm
index 7ca546dd79..cfedf06daf 100644
--- a/src/plugins/platforms/cocoa/qmenu_mac.mm
+++ b/src/plugins/platforms/cocoa/qmenu_mac.mm
@@ -466,6 +466,9 @@ QCocoaMenu::~QCocoaMenu()
void QCocoaMenu::addAction(QAction *a, QAction *before)
{
+ if (menu == 0)
+ return;
+
QCocoaMenuAction *action = new QCocoaMenuAction;
action->action = a;
action->ignore_accel = 0;