summaryrefslogtreecommitdiff
path: root/src/location/maps/qgeomap.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/location/maps/qgeomap.cpp')
-rw-r--r--src/location/maps/qgeomap.cpp11
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