diff options
author | Paolo Angelelli <paolo.angelelli@qt.io> | 2018-05-03 14:04:02 +0200 |
---|---|---|
committer | Jani Heikkinen <jani.heikkinen@qt.io> | 2018-05-03 15:24:40 +0000 |
commit | 139414573ab27bd1df1b491aeb6003a6fc0d3d5d (patch) | |
tree | 5f8b965844212bb6852d5b5011710587043831ba | |
parent | d61a9ddc13a4fca19dbbf35ef9b607c6d676a4b2 (diff) |
Fix casting QGeoServiceProviderFactoryV2v5.11.0-rc2v5.11.0-rc1v5.11.0
qobject_cast ing to QGeoServiceProviderFactory when the instance is a
QGeoServiceProviderFactoryV2 returns 0.
Use factoryV2 in this case.
Task-number: QTBUG-68062
Change-Id: Ibed1902749b6d06c905d309514c3750e75b75626
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Bruno de Oliveira Abinader <brunoabinader@gmail.com>
-rw-r--r-- | src/location/maps/qgeoserviceprovider.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/location/maps/qgeoserviceprovider.cpp b/src/location/maps/qgeoserviceprovider.cpp index 3cb0f2df..2d8151ad 100644 --- a/src/location/maps/qgeoserviceprovider.cpp +++ b/src/location/maps/qgeoserviceprovider.cpp @@ -742,8 +742,11 @@ void QGeoServiceProviderPrivate::loadPlugin(const QVariantMap ¶meters) // load the actual plugin QObject *instance = loader()->instance(idx); - factory = qobject_cast<QGeoServiceProviderFactory *>(instance); factoryV2 = qobject_cast<QGeoServiceProviderFactoryV2 *>(instance); + if (!factoryV2) + factory = qobject_cast<QGeoServiceProviderFactory *>(instance); + else + factory = factoryV2; } QHash<QString, QJsonObject> QGeoServiceProviderPrivate::plugins(bool reload) |