summaryrefslogtreecommitdiff
path: root/src/location/labs/qsg/qmappolygonobjectqsg.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/location/labs/qsg/qmappolygonobjectqsg.cpp')
-rw-r--r--src/location/labs/qsg/qmappolygonobjectqsg.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/location/labs/qsg/qmappolygonobjectqsg.cpp b/src/location/labs/qsg/qmappolygonobjectqsg.cpp
index 27dcc80f..b9602a3a 100644
--- a/src/location/labs/qsg/qmappolygonobjectqsg.cpp
+++ b/src/location/labs/qsg/qmappolygonobjectqsg.cpp
@@ -57,7 +57,8 @@ QMapPolygonObjectPrivateQSG::QMapPolygonObjectPrivateQSG(const QMapPolygonObject
QMapPolygonObjectPrivateQSG::~QMapPolygonObjectPrivateQSG()
{
-
+ if (m_map)
+ m_map->removeMapObject(q);
}
QList<QDoubleVector2D> QMapPolygonObjectPrivateQSG::projectPath()
@@ -74,13 +75,18 @@ QList<QDoubleVector2D> QMapPolygonObjectPrivateQSG::projectPath()
return geopathProjected_;
}
-QSGNode *QMapPolygonObjectPrivateQSG::updateMapObjectNode(QSGNode *oldNode, QSGNode *root, QQuickWindow * /*window*/)
+QSGNode *QMapPolygonObjectPrivateQSG::updateMapObjectNode(QSGNode *oldNode,
+ VisibleNode **visibleNode,
+ QSGNode *root,
+ QQuickWindow */*window*/)
{
+ Q_UNUSED(visibleNode)
MapPolygonNode *node = static_cast<MapPolygonNode *>(oldNode);
bool created = false;
if (!node) {
node = new MapPolygonNode();
+ *visibleNode = static_cast<VisibleNode *>(node);
created = true;
}