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>
#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>
// 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