summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.qmake.conf2
-rw-r--r--dist/changes-5.12.1028
-rw-r--r--dist/changes-5.14.018
-rw-r--r--dist/changes-5.14.120
-rw-r--r--dist/changes-5.14.220
-rw-r--r--dist/changes-5.15.018
-rw-r--r--dist/changes-5.15.120
-rw-r--r--dist/changes-5.15.228
-rw-r--r--examples/datavisualization/custominput/scatterdatamodifier.cpp2
-rw-r--r--examples/datavisualization/customproxy/rainfallgraph.cpp2
-rw-r--r--examples/datavisualization/qmlaxisformatter/customformatter.cpp2
-rw-r--r--src/datavisualization/data/qsurfacedataproxy.cpp12
-rw-r--r--src/datavisualization/doc/src/qtdatavisualization.qdoc2
-rw-r--r--src/datavisualization/engine/bars3drenderer.cpp10
-rw-r--r--src/datavisualization/engine/q3dbars.cpp2
-rw-r--r--src/datavisualization/engine/qabstract3dgraph.cpp5
-rw-r--r--src/datavisualization/theme/thememanager.cpp3
-rw-r--r--src/datavisualization/utils/scatterobjectbufferhelper.cpp2
-rw-r--r--src/datavisualization/utils/scatterpointbufferhelper.cpp1
-rw-r--r--src/datavisualization/utils/surfaceobject.cpp11
-rw-r--r--src/datavisualization/utils/surfaceobject_p.h12
-rw-r--r--src/datavisualizationqml2/abstractdeclarative.cpp4
-rw-r--r--src/datavisualizationqml2/colorgradient.cpp2
-rw-r--r--src/datavisualizationqml2/declarativerendernode.cpp5
-rw-r--r--tests/auto/cpptest/q3dbars-modelproxy/tst_proxy.cpp4
-rw-r--r--tests/auto/cpptest/q3dscatter-modelproxy/tst_proxy.cpp4
-rw-r--r--tests/auto/cpptest/q3dsurface-heightproxy/tst_proxy.cpp5
-rw-r--r--tests/auto/cpptest/q3dsurface-modelproxy/tst_proxy.cpp3
-rw-r--r--tests/auto/cpptest/q3dsurface-proxy/tst_proxy.cpp10
29 files changed, 213 insertions, 44 deletions
diff --git a/.qmake.conf b/.qmake.conf
index de5c3ff9..8a33647d 100644
--- a/.qmake.conf
+++ b/.qmake.conf
@@ -2,6 +2,6 @@ load(qt_build_config)
DEFINES += QT_NO_JAVA_STYLE_ITERATORS QT_NO_LINKED_LIST
-MODULE_VERSION = 5.14.0
+MODULE_VERSION = 5.15.13
CONFIG += warning_clean
CMAKE_MODULE_TESTS=-
diff --git a/dist/changes-5.12.10 b/dist/changes-5.12.10
new file mode 100644
index 00000000..c9b97b2a
--- /dev/null
+++ b/dist/changes-5.12.10
@@ -0,0 +1,28 @@
+Qt 5.12.10 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 5.12.9.
+
+For more details, refer to the online documentation included in this
+distribution. The documentation is also available online:
+
+ https://doc.qt.io/qt-5.12/index.html
+
+The Qt version 5.12 series is binary compatible with the 5.11.x series.
+Applications compiled for 5.11 will continue to run with 5.12.
+
+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.
+
+****************************************************************************
+* Important Behavior Changes *
+****************************************************************************
+
+****************************************************************************
+* Library *
+****************************************************************************
+
+
diff --git a/dist/changes-5.14.0 b/dist/changes-5.14.0
new file mode 100644
index 00000000..29a2c83b
--- /dev/null
+++ b/dist/changes-5.14.0
@@ -0,0 +1,18 @@
+Qt 5.14 introduces many new features and improvements as well as bugfixes
+over the 5.13.x series. For more details, refer to the online documentation
+included in this distribution. The documentation is also available online:
+
+https://doc.qt.io/qt-5/index.html
+
+The Qt version 5.14 series is binary compatible with the 5.13.x series.
+Applications compiled for 5.13 will continue to run with 5.14.
+
+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.
+
+ - This release contains only minor code improvements.
diff --git a/dist/changes-5.14.1 b/dist/changes-5.14.1
new file mode 100644
index 00000000..d0086381
--- /dev/null
+++ b/dist/changes-5.14.1
@@ -0,0 +1,20 @@
+Qt 5.14.1 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 5.14.0.
+
+For more details, refer to the online documentation included in this
+distribution. The documentation is also available online:
+
+https://doc.qt.io/qt-5/index.html
+
+The Qt version 5.14 series is binary compatible with the 5.13.x series.
+Applications compiled for 5.13 will continue to run with 5.14.
+
+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.
+
+ - This release contains only minor code improvements.
diff --git a/dist/changes-5.14.2 b/dist/changes-5.14.2
new file mode 100644
index 00000000..68a00517
--- /dev/null
+++ b/dist/changes-5.14.2
@@ -0,0 +1,20 @@
+Qt 5.14.2 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 5.14.0 through 5.14.1.
+
+For more details, refer to the online documentation included in this
+distribution. The documentation is also available online:
+
+https://doc.qt.io/qt-5/index.html
+
+The Qt version 5.14 series is binary compatible with the 5.13.x series.
+Applications compiled for 5.13 will continue to run with 5.14.
+
+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.
+
+ - This release contains only minor code improvements.
diff --git a/dist/changes-5.15.0 b/dist/changes-5.15.0
new file mode 100644
index 00000000..40076ce8
--- /dev/null
+++ b/dist/changes-5.15.0
@@ -0,0 +1,18 @@
+Qt 5.15 introduces many new features and improvements as well as bugfixes
+over the 5.14.x series. For more details, refer to the online documentation
+included in this distribution. The documentation is also available online:
+
+https://doc.qt.io/qt-5/index.html
+
+The Qt version 5.15 series is binary compatible with the 5.14.x series.
+Applications compiled for 5.14 will continue to run with 5.15.
+
+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.
+
+ - This release contains only minor code improvements.
diff --git a/dist/changes-5.15.1 b/dist/changes-5.15.1
new file mode 100644
index 00000000..332ee9d1
--- /dev/null
+++ b/dist/changes-5.15.1
@@ -0,0 +1,20 @@
+Qt 5.15.1 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 5.15.0.
+
+For more details, refer to the online documentation included in this
+distribution. The documentation is also available online:
+
+https://doc.qt.io/qt-5/index.html
+
+The Qt version 5.15 series is binary compatible with the 5.14.x series.
+Applications compiled for 5.14 will continue to run with 5.15.
+
+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.
+
+ - This release contains only minor code improvements.
diff --git a/dist/changes-5.15.2 b/dist/changes-5.15.2
new file mode 100644
index 00000000..3f584aec
--- /dev/null
+++ b/dist/changes-5.15.2
@@ -0,0 +1,28 @@
+Qt 5.15.2 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 5.15.1.
+
+For more details, refer to the online documentation included in this
+distribution. The documentation is also available online:
+
+ https://doc.qt.io/qt-5.15/index.html
+
+The Qt version 5.15 series is binary compatible with the 5.14.x series.
+Applications compiled for 5.14 will continue to run with 5.15.
+
+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.
+
+****************************************************************************
+* Important Behavior Changes *
+****************************************************************************
+
+****************************************************************************
+* Library *
+****************************************************************************
+
+
diff --git a/examples/datavisualization/custominput/scatterdatamodifier.cpp b/examples/datavisualization/custominput/scatterdatamodifier.cpp
index 1224b168..759f6f2a 100644
--- a/examples/datavisualization/custominput/scatterdatamodifier.cpp
+++ b/examples/datavisualization/custominput/scatterdatamodifier.cpp
@@ -129,7 +129,7 @@ void ScatterDataModifier::addData()
QString line = stream.readLine();
if (line.startsWith("#")) // Ignore comments
continue;
- QStringList strList = line.split(",", QString::SkipEmptyParts);
+ QStringList strList = line.split(",", Qt::SkipEmptyParts);
// Each line has three data items: xPos, yPos and zPos value
if (strList.size() < 3) {
qWarning() << "Invalid row read from data:" << line;
diff --git a/examples/datavisualization/customproxy/rainfallgraph.cpp b/examples/datavisualization/customproxy/rainfallgraph.cpp
index 64db0b22..73cb5bee 100644
--- a/examples/datavisualization/customproxy/rainfallgraph.cpp
+++ b/examples/datavisualization/customproxy/rainfallgraph.cpp
@@ -138,7 +138,7 @@ void RainfallGraph::addDataSet()
QString line = stream.readLine();
if (line.startsWith("#")) // Ignore comments
continue;
- QStringList strList = line.split(",", QString::SkipEmptyParts);
+ QStringList strList = line.split(",", Qt::SkipEmptyParts);
// Each line has three data items: Year, month, and rainfall value
if (strList.size() < 3) {
qWarning() << "Invalid row read from data:" << line;
diff --git a/examples/datavisualization/qmlaxisformatter/customformatter.cpp b/examples/datavisualization/qmlaxisformatter/customformatter.cpp
index e4fa2dd3..6074b778 100644
--- a/examples/datavisualization/qmlaxisformatter/customformatter.cpp
+++ b/examples/datavisualization/qmlaxisformatter/customformatter.cpp
@@ -164,6 +164,6 @@ void CustomFormatter::setSelectionFormat(const QString &format)
//! [0]
QDateTime CustomFormatter::valueToDateTime(qreal value) const
{
- return QDateTime(m_originDate).addMSecs(qint64(oneDayMs * value));
+ return m_originDate.startOfDay().addMSecs(qint64(oneDayMs * value));
}
//! [0]
diff --git a/src/datavisualization/data/qsurfacedataproxy.cpp b/src/datavisualization/data/qsurfacedataproxy.cpp
index 1c61084c..d176238a 100644
--- a/src/datavisualization/data/qsurfacedataproxy.cpp
+++ b/src/datavisualization/data/qsurfacedataproxy.cpp
@@ -475,7 +475,8 @@ void QSurfaceDataProxyPrivate::setItem(int rowIndex, int columnIndex, const QSur
int QSurfaceDataProxyPrivate::addRow(QSurfaceDataRow *row)
{
- Q_ASSERT(m_dataArray->at(0)->size() == row->size());
+ Q_ASSERT(m_dataArray->isEmpty()
+ || m_dataArray->at(0)->size() == row->size());
int currentSize = m_dataArray->size();
m_dataArray->append(row);
return currentSize;
@@ -485,7 +486,8 @@ int QSurfaceDataProxyPrivate::addRows(const QSurfaceDataArray &rows)
{
int currentSize = m_dataArray->size();
for (int i = 0; i < rows.size(); i++) {
- Q_ASSERT(m_dataArray->at(0)->size() == rows.at(i)->size());
+ Q_ASSERT(m_dataArray->isEmpty()
+ || m_dataArray->at(0)->size() == rows.at(i)->size());
m_dataArray->append(rows.at(i));
}
return currentSize;
@@ -494,7 +496,8 @@ int QSurfaceDataProxyPrivate::addRows(const QSurfaceDataArray &rows)
void QSurfaceDataProxyPrivate::insertRow(int rowIndex, QSurfaceDataRow *row)
{
Q_ASSERT(rowIndex >= 0 && rowIndex <= m_dataArray->size());
- Q_ASSERT(m_dataArray->at(0)->size() == row->size());
+ Q_ASSERT(m_dataArray->isEmpty()
+ || m_dataArray->at(0)->size() == row->size());
m_dataArray->insert(rowIndex, row);
}
@@ -503,7 +506,8 @@ void QSurfaceDataProxyPrivate::insertRows(int rowIndex, const QSurfaceDataArray
Q_ASSERT(rowIndex >= 0 && rowIndex <= m_dataArray->size());
for (int i = 0; i < rows.size(); i++) {
- Q_ASSERT(m_dataArray->at(0)->size() == rows.at(i)->size());
+ Q_ASSERT(m_dataArray->isEmpty()
+ || m_dataArray->at(0)->size() == rows.at(i)->size());
m_dataArray->insert(rowIndex++, rows.at(i));
}
}
diff --git a/src/datavisualization/doc/src/qtdatavisualization.qdoc b/src/datavisualization/doc/src/qtdatavisualization.qdoc
index 5ee8cd87..ec378b98 100644
--- a/src/datavisualization/doc/src/qtdatavisualization.qdoc
+++ b/src/datavisualization/doc/src/qtdatavisualization.qdoc
@@ -38,6 +38,8 @@
\module QtDataVisualization
\title Qt Data Visualization C++ Classes
\ingroup modules
+ \qtcmakepackage DataVisualization
+ \qtvariable datavisualization
\brief C++ classes for the Qt Data Visualization API.
diff --git a/src/datavisualization/engine/bars3drenderer.cpp b/src/datavisualization/engine/bars3drenderer.cpp
index c57339db..c04ef78c 100644
--- a/src/datavisualization/engine/bars3drenderer.cpp
+++ b/src/datavisualization/engine/bars3drenderer.cpp
@@ -2051,10 +2051,14 @@ void Bars3DRenderer::drawLabels(bool drawSelection, const Q3DCamera *activeCamer
glEnable(GL_POLYGON_OFFSET_FILL);
+ // If camera x rotation is 180, side labels face wrong direction
+ float activeCameraXRotation = (activeCamera->xRotation() >= 180.0f) ? -180.0f
+ : activeCamera->xRotation();
+
float labelAutoAngle = m_axisCacheY.labelAutoRotation();
float labelAngleFraction = labelAutoAngle / 90.0f;
float fractionCamY = activeCamera->yRotation() * labelAngleFraction;
- float fractionCamX = activeCamera->xRotation() * labelAngleFraction;
+ float fractionCamX = activeCameraXRotation * labelAngleFraction;
float labelsMaxWidth = 0.0f;
int startIndex;
@@ -2168,7 +2172,7 @@ void Bars3DRenderer::drawLabels(bool drawSelection, const Q3DCamera *activeCamer
labelAutoAngle = m_axisCacheZ.labelAutoRotation();
labelAngleFraction = labelAutoAngle / 90.0f;
fractionCamY = activeCamera->yRotation() * labelAngleFraction;
- fractionCamX = activeCamera->xRotation() * labelAngleFraction;
+ fractionCamX = activeCameraXRotation * labelAngleFraction;
GLfloat labelYAdjustment = 0.005f;
GLfloat colPosValue = m_scaleXWithBackground + labelMargin;
GLfloat rowPosValue = m_scaleZWithBackground + labelMargin;
@@ -2293,7 +2297,7 @@ void Bars3DRenderer::drawLabels(bool drawSelection, const Q3DCamera *activeCamer
labelAutoAngle = m_axisCacheX.labelAutoRotation();
labelAngleFraction = labelAutoAngle / 90.0f;
fractionCamY = activeCamera->yRotation() * labelAngleFraction;
- fractionCamX = activeCamera->xRotation() * labelAngleFraction;
+ fractionCamX = activeCameraXRotation * labelAngleFraction;
alignment = (m_xFlipped != m_zFlipped) ? Qt::AlignLeft : Qt::AlignRight;
if (labelAutoAngle == 0.0f) {
labelRotation = QVector3D(-90.0f, 90.0f, 0.0f);
diff --git a/src/datavisualization/engine/q3dbars.cpp b/src/datavisualization/engine/q3dbars.cpp
index daeedf3c..2f2cf63b 100644
--- a/src/datavisualization/engine/q3dbars.cpp
+++ b/src/datavisualization/engine/q3dbars.cpp
@@ -157,7 +157,7 @@ QBar3DSeries *Q3DBars::primarySeries() const
* to the axes. If the newly added series has specified a selected bar, it will be highlighted and
* any existing selection will be cleared. Only one added series can have an active selection.
*
- * /sa seriesList(), primarySeries
+ * \sa seriesList(), primarySeries
*/
void Q3DBars::addSeries(QBar3DSeries *series)
{
diff --git a/src/datavisualization/engine/qabstract3dgraph.cpp b/src/datavisualization/engine/qabstract3dgraph.cpp
index 284ab408..20460bba 100644
--- a/src/datavisualization/engine/qabstract3dgraph.cpp
+++ b/src/datavisualization/engine/qabstract3dgraph.cpp
@@ -656,11 +656,6 @@ qreal QAbstract3DGraph::currentFps() const
*
* \brief Whether orthographic projection is used for displaying the graph.
*
- * If \c {true}, ortographic projection is used to create 2D graphs by replacing
- * the default input handler with one that does not allow rotating the graph and
- * by setting the camera to view the graph
- * directly from the side or from the top. Also, axis labels typically need to be rotated when
- * viewing the graph from the sides.
* Defaults to \c{false}.
* \note Shadows will be disabled when set to \c{true}.
*
diff --git a/src/datavisualization/theme/thememanager.cpp b/src/datavisualization/theme/thememanager.cpp
index 01c7c10b..fb06b11c 100644
--- a/src/datavisualization/theme/thememanager.cpp
+++ b/src/datavisualization/theme/thememanager.cpp
@@ -101,7 +101,8 @@ void ThemeManager::setActiveTheme(Q3DTheme *theme)
m_activeTheme = theme;
// Reset all bits to dirty for sync
- m_activeTheme->d_ptr->resetDirtyBits();
+ if (theme->d_ptr->isForcePredefinedType())
+ m_activeTheme->d_ptr->resetDirtyBits();
// Connect signals from new one
connectThemeSignals();
diff --git a/src/datavisualization/utils/scatterobjectbufferhelper.cpp b/src/datavisualization/utils/scatterobjectbufferhelper.cpp
index 579eff98..b0858149 100644
--- a/src/datavisualization/utils/scatterobjectbufferhelper.cpp
+++ b/src/datavisualization/utils/scatterobjectbufferhelper.cpp
@@ -48,7 +48,6 @@ ScatterObjectBufferHelper::~ScatterObjectBufferHelper()
void ScatterObjectBufferHelper::fullLoad(ScatterSeriesRenderCache *cache, qreal dotScale)
{
- m_meshDataLoaded = false;
m_indexCount = 0;
ObjectHelper *dotObj = cache->object();
@@ -71,6 +70,7 @@ void ScatterObjectBufferHelper::fullLoad(ScatterSeriesRenderCache *cache, qreal
m_uvbuffer = 0;
m_normalbuffer = 0;
m_elementbuffer = 0;
+ m_meshDataLoaded = false;
}
// Index vertices
diff --git a/src/datavisualization/utils/scatterpointbufferhelper.cpp b/src/datavisualization/utils/scatterpointbufferhelper.cpp
index 860a2b88..9a9eafec 100644
--- a/src/datavisualization/utils/scatterpointbufferhelper.cpp
+++ b/src/datavisualization/utils/scatterpointbufferhelper.cpp
@@ -97,6 +97,7 @@ void ScatterPointBufferHelper::load(ScatterSeriesRenderCache *cache)
m_bufferedPoints.clear();
m_pointbuffer = 0;
m_uvbuffer = 0;
+ m_meshDataLoaded = false;
}
bool itemsVisible = false;
diff --git a/src/datavisualization/utils/surfaceobject.cpp b/src/datavisualization/utils/surfaceobject.cpp
index 6e15d081..f9e4181e 100644
--- a/src/datavisualization/utils/surfaceobject.cpp
+++ b/src/datavisualization/utils/surfaceobject.cpp
@@ -35,17 +35,10 @@
QT_BEGIN_NAMESPACE_DATAVISUALIZATION
SurfaceObject::SurfaceObject(Surface3DRenderer *renderer)
- : m_surfaceType(Undefined),
- m_columns(0),
- m_rows(0),
- m_gridIndexCount(0),
- m_axisCacheX(renderer->m_axisCacheX),
+ : m_axisCacheX(renderer->m_axisCacheX),
m_axisCacheY(renderer->m_axisCacheY),
m_axisCacheZ(renderer->m_axisCacheZ),
- m_renderer(renderer),
- m_returnTextureBuffer(false),
- m_dataDimension(0),
- m_oldDataDimension(-1)
+ m_renderer(renderer)
{
glGenBuffers(1, &m_vertexbuffer);
glGenBuffers(1, &m_normalbuffer);
diff --git a/src/datavisualization/utils/surfaceobject_p.h b/src/datavisualization/utils/surfaceobject_p.h
index a42fe244..41b6ad5f 100644
--- a/src/datavisualization/utils/surfaceobject_p.h
+++ b/src/datavisualization/utils/surfaceobject_p.h
@@ -111,11 +111,11 @@ private:
bool flipXZ);
private:
- SurfaceType m_surfaceType;
- int m_columns;
- int m_rows;
+ SurfaceType m_surfaceType = Undefined;
+ int m_columns = 0;
+ int m_rows = 0;
GLuint m_gridElementbuffer;
- GLuint m_gridIndexCount;
+ GLuint m_gridIndexCount = 0;
QVector<QVector3D> m_vertices;
QVector<QVector3D> m_normals;
// Caches are not owned
@@ -126,9 +126,9 @@ private:
float m_minY;
float m_maxY;
GLuint m_uvTextureBuffer;
- bool m_returnTextureBuffer;
+ bool m_returnTextureBuffer = false;
SurfaceObject::DataDimensions m_dataDimension;
- SurfaceObject::DataDimensions m_oldDataDimension;
+ SurfaceObject::DataDimensions m_oldDataDimension = DataDimensions(-1);
};
QT_END_NAMESPACE_DATAVISUALIZATION
diff --git a/src/datavisualizationqml2/abstractdeclarative.cpp b/src/datavisualizationqml2/abstractdeclarative.cpp
index 03d1f41d..4cec3bc8 100644
--- a/src/datavisualizationqml2/abstractdeclarative.cpp
+++ b/src/datavisualizationqml2/abstractdeclarative.cpp
@@ -678,7 +678,7 @@ void AbstractDeclarative::checkWindowList(QQuickWindow *window)
}
if (oldWindow && !windowList.contains(oldWindow)
- && windowClearList.values(oldWindow).size() != 0) {
+ && windowClearList.contains(oldWindow)) {
// Return window clear value
oldWindow->setClearBeforeRendering(windowClearList.value(oldWindow));
windowClearList.remove(oldWindow);
@@ -691,7 +691,7 @@ void AbstractDeclarative::checkWindowList(QQuickWindow *window)
if ((m_renderMode == RenderDirectToBackground
|| m_renderMode == RenderDirectToBackground_NoClear)
- && windowClearList.values(window).size() == 0) {
+ && !windowClearList.contains(window)) {
// Save old clear value
windowClearList[window] = window->clearBeforeRendering();
// Disable clearing of the window as we render underneath
diff --git a/src/datavisualizationqml2/colorgradient.cpp b/src/datavisualizationqml2/colorgradient.cpp
index 125b9545..edcca2ec 100644
--- a/src/datavisualizationqml2/colorgradient.cpp
+++ b/src/datavisualizationqml2/colorgradient.cpp
@@ -77,7 +77,7 @@ ColorGradient::~ColorGradient()
QQmlListProperty<ColorGradientStop> ColorGradient::stops()
{
- return QQmlListProperty<ColorGradientStop>(this, m_stops);
+ return QQmlListProperty<ColorGradientStop>(this, &m_stops);
}
void ColorGradient::doUpdate()
diff --git a/src/datavisualizationqml2/declarativerendernode.cpp b/src/datavisualizationqml2/declarativerendernode.cpp
index 1e3c3542..eac1a36b 100644
--- a/src/datavisualizationqml2/declarativerendernode.cpp
+++ b/src/datavisualizationqml2/declarativerendernode.cpp
@@ -113,7 +113,10 @@ void DeclarativeRenderNode::updateFBO()
QRectF(0, 1, 1, -1));
delete m_texture;
- m_texture = m_window->createTextureFromId(m_fbo->texture(), m_size);
+ const uint id = m_fbo->texture();
+ m_texture =
+ m_window->createTextureFromNativeObject(QQuickWindow::NativeObjectTexture,
+ &id, 0 /* nativeLayout */, m_size);
m_material.setTexture(m_texture);
m_materialO.setTexture(m_texture);
diff --git a/tests/auto/cpptest/q3dbars-modelproxy/tst_proxy.cpp b/tests/auto/cpptest/q3dbars-modelproxy/tst_proxy.cpp
index dfeee506..18fa0296 100644
--- a/tests/auto/cpptest/q3dbars-modelproxy/tst_proxy.cpp
+++ b/tests/auto/cpptest/q3dbars-modelproxy/tst_proxy.cpp
@@ -258,7 +258,9 @@ void tst_proxy::multiMatch()
graph.addSeries(series);
- QCoreApplication::processEvents();
+ QSignalSpy spy(graph.valueAxis(), SIGNAL(maxChanged(float)));
+ spy.wait(1000);
+
QCOMPARE(graph.valueAxis()->max(), 6.5f);
m_proxy->setMultiMatchBehavior(QItemModelBarDataProxy::MMBFirst);
QCoreApplication::processEvents();
diff --git a/tests/auto/cpptest/q3dscatter-modelproxy/tst_proxy.cpp b/tests/auto/cpptest/q3dscatter-modelproxy/tst_proxy.cpp
index 8e17f6bb..ecb4e8c2 100644
--- a/tests/auto/cpptest/q3dscatter-modelproxy/tst_proxy.cpp
+++ b/tests/auto/cpptest/q3dscatter-modelproxy/tst_proxy.cpp
@@ -192,9 +192,9 @@ void tst_proxy::addModel()
m_proxy->setZPosRoleReplace(QStringLiteral("\\1"));
QScatter3DSeries *series = new QScatter3DSeries(m_proxy);
- Q_UNUSED(series)
- QCoreApplication::processEvents();
+ QSignalSpy spy(series, SIGNAL(dataProxyChanged(QScatterDataProxy *)));
+ spy.wait(1000);
QCOMPARE(m_proxy->itemCount(), 2);
QVERIFY(m_proxy->series());
diff --git a/tests/auto/cpptest/q3dsurface-heightproxy/tst_proxy.cpp b/tests/auto/cpptest/q3dsurface-heightproxy/tst_proxy.cpp
index e031688c..99b30af9 100644
--- a/tests/auto/cpptest/q3dsurface-heightproxy/tst_proxy.cpp
+++ b/tests/auto/cpptest/q3dsurface-heightproxy/tst_proxy.cpp
@@ -80,15 +80,16 @@ void tst_proxy::construct()
QImage image(QSize(10, 10), QImage::Format_ARGB32);
image.fill(0);
proxy = new QHeightMapSurfaceDataProxy(image);
+ QSignalSpy spy(proxy, SIGNAL(columnCountChanged(int)));
QVERIFY(proxy);
- QCoreApplication::processEvents();
+ spy.wait(1000);
QCOMPARE(proxy->columnCount(), 10);
QCOMPARE(proxy->rowCount(), 10);
delete proxy;
proxy = new QHeightMapSurfaceDataProxy(":/customtexture.jpg");
QVERIFY(proxy);
- QCoreApplication::processEvents();
+ spy.wait(1000);
QCOMPARE(proxy->columnCount(), 24);
QCOMPARE(proxy->rowCount(), 24);
delete proxy;
diff --git a/tests/auto/cpptest/q3dsurface-modelproxy/tst_proxy.cpp b/tests/auto/cpptest/q3dsurface-modelproxy/tst_proxy.cpp
index eb984c1a..c1039c85 100644
--- a/tests/auto/cpptest/q3dsurface-modelproxy/tst_proxy.cpp
+++ b/tests/auto/cpptest/q3dsurface-modelproxy/tst_proxy.cpp
@@ -274,8 +274,9 @@ void tst_proxy::multiMatch()
QSurface3DSeries *series = new QSurface3DSeries(m_proxy);
graph.addSeries(series);
+ QSignalSpy spy(graph.axisY(), SIGNAL(maxChanged(float)));
+ spy.wait(1000);
- QCoreApplication::processEvents();
QCOMPARE(graph.axisY()->max(), 10.5f);
m_proxy->setMultiMatchBehavior(QItemModelSurfaceDataProxy::MMBFirst);
QCoreApplication::processEvents();
diff --git a/tests/auto/cpptest/q3dsurface-proxy/tst_proxy.cpp b/tests/auto/cpptest/q3dsurface-proxy/tst_proxy.cpp
index cda6bcce..1516e67d 100644
--- a/tests/auto/cpptest/q3dsurface-proxy/tst_proxy.cpp
+++ b/tests/auto/cpptest/q3dsurface-proxy/tst_proxy.cpp
@@ -47,6 +47,7 @@ private slots:
void initialProperties();
void initializeProperties();
+ void initialRow();
private:
QSurfaceDataProxy *m_proxy;
@@ -105,5 +106,14 @@ void tst_proxy::initializeProperties()
QCOMPARE(m_proxy->rowCount(), 2);
}
+void tst_proxy::initialRow()
+{
+ QSurfaceDataProxy proxy;
+ QSurfaceDataRow row{QSurfaceDataItem{QVector3D{0, 0, 0}},
+ QSurfaceDataItem{QVector3D{1, 1, 1}}};
+ proxy.addRow(new QSurfaceDataRow(row));
+ proxy.addRow(new QSurfaceDataRow(row));
+}
+
QTEST_MAIN(tst_proxy)
#include "tst_proxy.moc"