summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel
diff options
context:
space:
mode:
authorMorten Johan Sørvig <morten.sorvig@nokia.com>2012-02-02 11:02:01 +0100
committerQt by Nokia <qt-info@nokia.com>2012-02-02 12:49:19 +0100
commitcecec2e2ce335a62e1fa3eb80a9b45c2d2e6c822 (patch)
tree1e40f35f3942a1cc94a519d2358722235f655294 /src/gui/kernel
parentb852b019586cd53c2b49848ff2ae703fb0815308 (diff)
Fix qmlscene segfault on startup on Mac OS 10.6.
Task-number: QTBUG-23982 The platform plugin loader was searching for plugins in qtbase/bin and would segfault when checking if the qmlscene binary was a plugin. Test if "../Plugins" actually exists before setting it as the platform plugin path. Change-Id: Ibd887b5c5045d23e3eb62867dc7598e09d3918ad Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Sarah Jane Smith <sarah.j.smith@nokia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Diffstat (limited to 'src/gui/kernel')
-rw-r--r--src/gui/kernel/qguiapplication.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp
index 4096628d93..b1cbb5fcae 100644
--- a/src/gui/kernel/qguiapplication.cpp
+++ b/src/gui/kernel/qguiapplication.cpp
@@ -54,6 +54,7 @@
#include <QtCore/private/qabstracteventdispatcher_p.h>
#include <QtCore/qmutex.h>
#include <QtCore/private/qthread_p.h>
+#include <QtCore/qdir.h>
#include <QtDebug>
#include <qpalette.h>
#include <qscreen.h>
@@ -384,8 +385,9 @@ void QGuiApplicationPrivate::createPlatformIntegration()
// TODO (msorvig): Create proper cross-platform solution for loading
// deployed platform plugins
#ifdef Q_OS_MAC
- if (platformPluginPath.isEmpty()) {
- platformPluginPath = QCoreApplication::applicationDirPath() + QLatin1String("../Plugins/");
+ const QString bundlePluginPath = QCoreApplication::applicationDirPath() + QLatin1String("../Plugins/");
+ if (platformPluginPath.isEmpty() && QDir(bundlePluginPath).exists()) {
+ platformPluginPath = bundlePluginPath;
}
#endif