summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBradley T. Hughes <bradley.hughes@nokia.com>2012-01-11 14:23:05 +0100
committerQt by Nokia <qt-info@nokia.com>2012-01-12 14:38:29 +0100
commita43986e2a5229aa32e9383677cd8e036a0e7c0b7 (patch)
tree2e5bd0b9008a5599d42d0137a625a426d5ece461
parent9834b3681fb02ef5eaab19d678b674365a4381e4 (diff)
Don't crash during QApplication construction
The QCoreApplication::init() function calls the virtual QCoreApplicationPrivate::createEventDispatcher(), which for QApplication, also creates the plaform integration. Unfortunately, the Cocoa menubar integration uses qApp before QApplication is constructed, causing a crash. Circumvent this by using QGuiApplicationPrivate directly. Change-Id: Ib36f628641761e70f9e9e39dd23e70e7537a165b Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
-rw-r--r--src/plugins/platforms/cocoa/qcocoahelpers.mm3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoahelpers.mm b/src/plugins/platforms/cocoa/qcocoahelpers.mm
index f451dcc407..45aa90c296 100644
--- a/src/plugins/platforms/cocoa/qcocoahelpers.mm
+++ b/src/plugins/platforms/cocoa/qcocoahelpers.mm
@@ -45,6 +45,7 @@
#include <QtCore>
#include <QtGui>
+#include <private/qguiapplication_p.h>
QT_BEGIN_NAMESPACE
@@ -441,7 +442,7 @@ QString qt_mac_applicationName()
appName = QCFString::toQString(static_cast<CFStringRef>(string));
if (appName.isEmpty()) {
- QString arg0 = qApp->arguments().at(0);
+ QString arg0 = QGuiApplicationPrivate::instance()->appName();
if (arg0.contains("/")) {
QStringList parts = arg0.split("/");
appName = parts.at(parts.count() - 1);