summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qguiapplication.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@digia.com>2013-07-17 16:22:41 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-07-18 13:13:36 +0200
commitc96a6ab627100452864eb4d8da973300401c1bfa (patch)
tree0ecd0f390685c976efcd1df2fadc09193f190bbf /src/gui/kernel/qguiapplication.cpp
parent066d32d7435ecda9e9fe0447ea06c9be672cfea3 (diff)
Pass argc, argv to the platform plugins.
Allow for parsing of X11-specific arguments like -display, -geometry. Introduce overload of QPlatformIntegration::create() with argc and argv and provide default implementation that calls the old version (for platforms that do not have argc, argv). Provide default implementation for the old version returning 0 so that platforms using the new API compile. Prototypically implement -display in XCB. Task-number: QTBUG-29396 Change-Id: I6a0e9271fad6e2d10f11b80393025ae3a3e36623 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Diffstat (limited to 'src/gui/kernel/qguiapplication.cpp')
-rw-r--r--src/gui/kernel/qguiapplication.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp
index 118b481fa3..a8a4ad1937 100644
--- a/src/gui/kernel/qguiapplication.cpp
+++ b/src/gui/kernel/qguiapplication.cpp
@@ -773,14 +773,14 @@ QString QGuiApplication::platformName()
*QGuiApplicationPrivate::platform_name : QString();
}
-static void init_platform(const QString &pluginArgument, const QString &platformPluginPath)
+static void init_platform(const QString &pluginArgument, const QString &platformPluginPath, int &argc, char **argv)
{
// Split into platform name and arguments
QStringList arguments = pluginArgument.split(QLatin1Char(':'));
const QString name = arguments.takeFirst().toLower();
// Create the platform integration.
- QGuiApplicationPrivate::platform_integration = QPlatformIntegrationFactory::create(name, arguments, platformPluginPath);
+ QGuiApplicationPrivate::platform_integration = QPlatformIntegrationFactory::create(name, arguments, argc, argv, platformPluginPath);
if (QGuiApplicationPrivate::platform_integration) {
QGuiApplicationPrivate::platform_name = new QString(name);
} else {
@@ -908,7 +908,7 @@ void QGuiApplicationPrivate::createPlatformIntegration()
argc = j;
}
- init_platform(QLatin1String(platformName), platformPluginPath);
+ init_platform(QLatin1String(platformName), platformPluginPath, argc, argv);
}