qpa: Fix crash when native interface is null

QPlatformNativeInterface is optional.

Change-Id: Iae2a6de63fc8a36deb6059047a0d7f05defb6b5c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
This commit is contained in:
Girish Ramakrishnan 2012-07-06 21:00:51 +05:30 committed by Qt by Nokia
parent d04e06dc32
commit 300d984bdb

View File

@ -718,14 +718,15 @@ static void init_platform(const QString &pluginArgument, const QString &platform
// Set arguments as dynamic properties on the native interface as
// boolean 'foo' or strings: 'foo=bar'
if (!arguments.isEmpty()) {
QObject *nativeInterface = QGuiApplicationPrivate::platform_integration->nativeInterface();
foreach (const QString &argument, arguments) {
const int equalsPos = argument.indexOf(QLatin1Char('='));
const QByteArray name =
equalsPos != -1 ? argument.left(equalsPos).toUtf8() : argument.toUtf8();
const QVariant value =
equalsPos != -1 ? QVariant(argument.mid(equalsPos + 1)) : QVariant(true);
nativeInterface->setProperty(name.constData(), value);
if (QObject *nativeInterface = QGuiApplicationPrivate::platform_integration->nativeInterface()) {
foreach (const QString &argument, arguments) {
const int equalsPos = argument.indexOf(QLatin1Char('='));
const QByteArray name =
equalsPos != -1 ? argument.left(equalsPos).toUtf8() : argument.toUtf8();
const QVariant value =
equalsPos != -1 ? QVariant(argument.mid(equalsPos + 1)) : QVariant(true);
nativeInterface->setProperty(name.constData(), value);
}
}
}
#endif