diff options
-rw-r--r-- | src/gui/kernel/qguiapplication.cpp | 13 | ||||
-rw-r--r-- | src/gui/kernel/qplatformintegrationfactory.cpp | 5 | ||||
-rw-r--r-- | src/gui/kernel/qplatformintegrationfactory_p.h | 2 |
3 files changed, 5 insertions, 15 deletions
diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp index a9986422c8..aa039cc947 100644 --- a/src/gui/kernel/qguiapplication.cpp +++ b/src/gui/kernel/qguiapplication.cpp @@ -665,18 +665,11 @@ QString QGuiApplication::platformName() static void init_platform(const QString &pluginArgument, const QString &platformPluginPath) { // Split into platform name and arguments - QString name; - QStringList arguments; - foreach (const QString &token, pluginArgument.split(QLatin1Char(':'))) { - if (name.isEmpty()) { - name = token; - } else { - arguments.push_back(token); - } - } + QStringList arguments = pluginArgument.split(QLatin1Char(':')); + const QString name = arguments.takeFirst().toLower(); // Create the platform integration. - QGuiApplicationPrivate::platform_integration = QPlatformIntegrationFactory::create(name, platformPluginPath); + QGuiApplicationPrivate::platform_integration = QPlatformIntegrationFactory::create(name, arguments, platformPluginPath); if (QGuiApplicationPrivate::platform_integration) { QGuiApplicationPrivate::platform_name = new QString(name); } else { diff --git a/src/gui/kernel/qplatformintegrationfactory.cpp b/src/gui/kernel/qplatformintegrationfactory.cpp index d1860da126..ce6b3bc293 100644 --- a/src/gui/kernel/qplatformintegrationfactory.cpp +++ b/src/gui/kernel/qplatformintegrationfactory.cpp @@ -57,11 +57,8 @@ Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, directLoader, (QPlatformIntegrationFactoryInterface_iid, QLatin1String(""), Qt::CaseInsensitive)) #endif -QPlatformIntegration *QPlatformIntegrationFactory::create(const QString& key, const QString &platformPluginPath) +QPlatformIntegration *QPlatformIntegrationFactory::create(const QString &platform, const QStringList ¶mList, const QString &platformPluginPath) { - QStringList paramList = key.split(QLatin1Char(':')); - const QString platform = paramList.takeFirst().toLower(); - #ifndef QT_NO_LIBRARY // Try loading the plugin from platformPluginPath first: if (!platformPluginPath.isEmpty()) { diff --git a/src/gui/kernel/qplatformintegrationfactory_p.h b/src/gui/kernel/qplatformintegrationfactory_p.h index 16cfa2803c..f3db44e1ab 100644 --- a/src/gui/kernel/qplatformintegrationfactory_p.h +++ b/src/gui/kernel/qplatformintegrationfactory_p.h @@ -66,7 +66,7 @@ class Q_GUI_EXPORT QPlatformIntegrationFactory { public: static QStringList keys(const QString &platformPluginPath = QString()); - static QPlatformIntegration *create(const QString &key, const QString &platformPluginPath = QString()); + static QPlatformIntegration *create(const QString &name, const QStringList &args, const QString &platformPluginPath = QString()); }; QT_END_NAMESPACE |