diff options
Diffstat (limited to 'src/location/maps/qgeomap.cpp')
-rw-r--r-- | src/location/maps/qgeomap.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/location/maps/qgeomap.cpp b/src/location/maps/qgeomap.cpp index 4ac36fed..a346786a 100644 --- a/src/location/maps/qgeomap.cpp +++ b/src/location/maps/qgeomap.cpp @@ -40,6 +40,7 @@ #include "qgeomappingmanagerengine_p.h" #include "qdeclarativegeomapitembase_p.h" #include "qgeomapobject_p.h" +#include "qgeomapobject_p_p.h" #include <QDebug> QT_BEGIN_NAMESPACE @@ -280,7 +281,11 @@ void QGeoMap::clearMapItems() bool QGeoMap::createMapObjectImplementation(QGeoMapObject *obj) { Q_D(QGeoMap); - return d->createMapObjectImplementation(obj); + QExplicitlySharedDataPointer<QGeoMapObjectPrivate> pimpl = + QExplicitlySharedDataPointer<QGeoMapObjectPrivate>(d->createMapObjectImplementation(obj)); + if (pimpl.constData()) + return obj->setImplementation(pimpl); + return false; } QList<QGeoMapObject *> QGeoMap::mapObjects() const @@ -365,10 +370,10 @@ void QGeoMapPrivate::removeMapItem(QDeclarativeGeoMapItemBase *item) Q_UNUSED(item) } -bool QGeoMapPrivate::createMapObjectImplementation(QGeoMapObject *obj) +QGeoMapObjectPrivate *QGeoMapPrivate::createMapObjectImplementation(QGeoMapObject *obj) { Q_UNUSED(obj) - return false; + return nullptr; } QList<QGeoMapObject *> QGeoMapPrivate::mapObjects() const |