From 139414573ab27bd1df1b491aeb6003a6fc0d3d5d Mon Sep 17 00:00:00 2001 From: Paolo Angelelli Date: Thu, 3 May 2018 14:04:02 +0200 Subject: Fix casting QGeoServiceProviderFactoryV2 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 Reviewed-by: Bruno de Oliveira Abinader --- src/location/maps/qgeoserviceprovider.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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(instance); factoryV2 = qobject_cast(instance); + if (!factoryV2) + factory = qobject_cast(instance); + else + factory = factoryV2; } QHash QGeoServiceProviderPrivate::plugins(bool reload) -- cgit v1.2.1