summaryrefslogtreecommitdiff
path: root/src/location/labs/qsg/qmapiconobjectqsg.cpp
diff options
context:
space:
mode:
authorPaolo Angelelli <paolo.angelelli.qt@gmail.com>2019-12-26 21:31:03 +0100
committerpaolo <paolo.angelelli.qt@gmail.com>2020-02-11 19:35:27 +0100
commite82c41d35ddd6ef0d14e1d01ea1dfd46742bc0fe (patch)
tree17772318d8b51e3eb4bc19dc3d5fee120c137a90 /src/location/labs/qsg/qmapiconobjectqsg.cpp
parentd055098540df99a5d426360e9322c659e678e5ee (diff)
downloadqtlocation-e82c41d35ddd6ef0d14e1d01ea1dfd46742bc0fe.tar.gz
Fix Map*ObjectsQSG implementation triggering QSGBatchRenderer crashes
The new approach introduces a root node for all objects, that is repopulated at every repaint. Change-Id: I4562e1aaa18999a03e8c38fe3bf59fe41f14dd70 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'src/location/labs/qsg/qmapiconobjectqsg.cpp')
-rw-r--r--src/location/labs/qsg/qmapiconobjectqsg.cpp5
1 files changed, 1 insertions, 4 deletions
diff --git a/src/location/labs/qsg/qmapiconobjectqsg.cpp b/src/location/labs/qsg/qmapiconobjectqsg.cpp
index d9a80c91..10948d82 100644
--- a/src/location/labs/qsg/qmapiconobjectqsg.cpp
+++ b/src/location/labs/qsg/qmapiconobjectqsg.cpp
@@ -102,7 +102,6 @@ QSGNode *QMapIconObjectPrivateQSG::updateMapObjectNode(QSGNode *oldNode,
QQuickWindow *window)
{
Q_UNUSED(visibleNode);
- bool created = false;
RootNode *node = static_cast<RootNode *>(oldNode);
if (!node) {
node = new RootNode();
@@ -110,7 +109,6 @@ QSGNode *QMapIconObjectPrivateQSG::updateMapObjectNode(QSGNode *oldNode,
m_imageNode->setOwnsTexture(true);
node->appendChildNode(m_imageNode);
*visibleNode = static_cast<VisibleNode *>(node);
- created = true;
}
if (m_imageDirty) {
@@ -131,8 +129,7 @@ QSGNode *QMapIconObjectPrivateQSG::updateMapObjectNode(QSGNode *oldNode,
}
}
- if (created)
- root->appendChildNode(node);
+ root->appendChildNode(node);
return node;
}