summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2018-01-18 18:00:52 +0100
committerLiang Qi <liang.qi@qt.io>2018-01-18 21:25:09 +0100
commitc6a8bae2563bf883b483c5bfa8b2caf15a1fb33b (patch)
tree6ed846020c66b638a9f2895749d2104fd7d33c1f
parent7dd95d1d4cb65662a9bbb739163b7e12f3d81a84 (diff)
parent172dbad2db094148323fd8a9e6ab44c72a9fa88e (diff)
Merge remote-tracking branch 'origin/5.9' into 5.10
Conflicts: .qmake.conf Change-Id: I4e39ad733fec72e2233cd16fc50c96ca96280782
-rw-r--r--dist/changes-5.9.425
-rw-r--r--examples/datavisualization/qmloscilloscope/datasource.cpp4
-rw-r--r--src/datavisualization/engine/abstract3drenderer.cpp6
-rw-r--r--src/datavisualization/engine/abstract3drenderer_p.h1
-rw-r--r--src/datavisualization/engine/qabstract3dgraph.cpp3
-rw-r--r--src/datavisualization/engine/shaders/surfaceTexturedFlat.frag1
-rw-r--r--src/datavisualization/engine/shaders/surfaceTexturedShadowFlat.frag2
7 files changed, 37 insertions, 5 deletions
diff --git a/dist/changes-5.9.4 b/dist/changes-5.9.4
new file mode 100644
index 00000000..d49a42f5
--- /dev/null
+++ b/dist/changes-5.9.4
@@ -0,0 +1,25 @@
+Qt 5.9.4 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 5.9.0.
+
+For more details, refer to the online documentation included in this
+distribution. The documentation is also available online:
+
+http://doc.qt.io/qt-5/index.html
+
+The Qt version 5.9 series is binary compatible with the 5.8.x series.
+Applications compiled for 5.8 will continue to run with 5.9.
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Qt Bug Tracker:
+
+https://bugreports.qt.io/
+
+Each of these identifiers can be entered in the bug tracker to obtain more
+information about a particular change.
+
+****************************************************************************
+* Qt 5.9.4 Changes *
+****************************************************************************
+
+ - This release contains only minor code improvements.
+
diff --git a/examples/datavisualization/qmloscilloscope/datasource.cpp b/examples/datavisualization/qmloscilloscope/datasource.cpp
index 843eb3d6..19580e03 100644
--- a/examples/datavisualization/qmloscilloscope/datasource.cpp
+++ b/examples/datavisualization/qmloscilloscope/datasource.cpp
@@ -40,7 +40,7 @@ Q_DECLARE_METATYPE(QSurface3DSeries *)
DataSource::DataSource(QObject *parent) :
QObject(parent),
m_index(-1),
- m_resetArray(0)
+ m_resetArray(nullptr)
{
//! [4]
qRegisterMetaType<QSurface3DSeries *>();
@@ -126,7 +126,7 @@ void DataSource::update(QSurface3DSeries *series)
// If the first time or the dimensions of the cache array have changed,
// reconstruct the reset array
- if (m_resetArray || series->dataProxy()->rowCount() != newRowCount
+ if (!m_resetArray || series->dataProxy()->rowCount() != newRowCount
|| series->dataProxy()->columnCount() != newColumnCount) {
m_resetArray = new QSurfaceDataArray();
m_resetArray->reserve(newRowCount);
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)
diff --git a/src/datavisualization/engine/abstract3drenderer_p.h b/src/datavisualization/engine/abstract3drenderer_p.h
index bf64bc6d..c312b771 100644
--- a/src/datavisualization/engine/abstract3drenderer_p.h
+++ b/src/datavisualization/engine/abstract3drenderer_p.h
@@ -267,6 +267,7 @@ protected:
QPoint m_inputPosition;
QHash<QAbstract3DSeries *, SeriesRenderCache *> m_renderCacheList;
CustomRenderItemArray m_customRenderCache;
+ QList<QCustom3DItem *> m_customItemDrawOrder;
QRect m_primarySubViewport;
QRect m_secondarySubViewport;
float m_devicePixelRatio;
diff --git a/src/datavisualization/engine/qabstract3dgraph.cpp b/src/datavisualization/engine/qabstract3dgraph.cpp
index cb09082e..284ab408 100644
--- a/src/datavisualization/engine/qabstract3dgraph.cpp
+++ b/src/datavisualization/engine/qabstract3dgraph.cpp
@@ -442,6 +442,9 @@ void QAbstract3DGraph::clearSelection()
* if trying to add a null item, and the index of the item if trying to add an
* already added item.
*
+ * Items are rendered in the order they have been inserted. The rendering order needs to
+ * be taken into account when having solid and transparent items.
+ *
* \sa removeCustomItems(), removeCustomItem(), removeCustomItemAt(), customItems()
*
* \since QtDataVisualization 1.1
diff --git a/src/datavisualization/engine/shaders/surfaceTexturedFlat.frag b/src/datavisualization/engine/shaders/surfaceTexturedFlat.frag
index 7c654e0c..6b1ea91a 100644
--- a/src/datavisualization/engine/shaders/surfaceTexturedFlat.frag
+++ b/src/datavisualization/engine/shaders/surfaceTexturedFlat.frag
@@ -2,7 +2,6 @@
#extension GL_EXT_gpu_shader4 : require
-varying highp vec3 coords_mdl;
varying highp vec3 position_wrld;
flat varying highp vec3 normal_cmr;
varying highp vec3 eyeDirection_cmr;
diff --git a/src/datavisualization/engine/shaders/surfaceTexturedShadowFlat.frag b/src/datavisualization/engine/shaders/surfaceTexturedShadowFlat.frag
index 496f4777..4a4284e1 100644
--- a/src/datavisualization/engine/shaders/surfaceTexturedShadowFlat.frag
+++ b/src/datavisualization/engine/shaders/surfaceTexturedShadowFlat.frag
@@ -2,7 +2,7 @@
#extension GL_EXT_gpu_shader4 : require
-varying highp vec3 coords_mdl;
+varying highp vec2 coords_mdl;
varying highp vec3 position_wrld;
flat varying highp vec3 normal_cmr;
varying highp vec3 eyeDirection_cmr;