From a43986e2a5229aa32e9383677cd8e036a0e7c0b7 Mon Sep 17 00:00:00 2001 From: "Bradley T. Hughes" Date: Wed, 11 Jan 2012 14:23:05 +0100 Subject: Don't crash during QApplication construction MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- src/plugins/platforms/cocoa/qcocoahelpers.mm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 #include +#include QT_BEGIN_NAMESPACE @@ -441,7 +442,7 @@ QString qt_mac_applicationName() appName = QCFString::toQString(static_cast(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); -- cgit v1.2.3