summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/abstract3drenderer.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2018-01-20 22:38:39 +0100
committerLiang Qi <liang.qi@qt.io>2018-01-20 22:39:23 +0100
commit8b0018cb1a4dea8e74de01427d79494a68d843c6 (patch)
treeb6d8de4f486ccf0a4dc2f4c2b385d3f69db6e19e /src/datavisualization/engine/abstract3drenderer.cpp
parent7722638fcd57f2e826bac61c3bf9ab2a7e190088 (diff)
parent63b90a1d334743b63f396331434e9b12e366f9d3 (diff)
Merge remote-tracking branch 'origin/5.10' into dev
Conflicts: .qmake.conf Change-Id: Ie7a50a1cc66ddffe04933f77323d03941e0d7acd
Diffstat (limited to 'src/datavisualization/engine/abstract3drenderer.cpp')
-rw-r--r--src/datavisualization/engine/abstract3drenderer.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/datavisualization/engine/abstract3drenderer.cpp b/src/datavisualization/engine/abstract3drenderer.cpp
index dd3212ac..417be0e8 100644
--- a/src/datavisualization/engine/abstract3drenderer.cpp
+++ b/src/datavisualization/engine/abstract3drenderer.cpp
@@ -755,6 +755,9 @@ void Abstract3DRenderer::updateCustomData(const QList<QCustom3DItem *> &customIt
delete renderItem;
}
}
+
+ m_customItemDrawOrder.clear();
+ m_customItemDrawOrder = QList<QCustom3DItem *>(customItems);
}
void Abstract3DRenderer::updateCustomItems()
@@ -1436,7 +1439,8 @@ void Abstract3DRenderer::drawCustomItems(RenderingState state,
bool volumeDetected = false;
int loopCount = 0;
while (loopCount < 2) {
- foreach (CustomRenderItem *item, m_customRenderCache) {
+ for (QCustom3DItem *customItem : qAsConst(m_customItemDrawOrder)) {
+ CustomRenderItem *item = m_customRenderCache.value(customItem);
// Check that the render item is visible, and skip drawing if not
// Also check if reflected item is on the "wrong" side, and skip drawing if it is
if (!item->isVisible() || ((m_reflectionEnabled && reflection < 0.0f)