summaryrefslogtreecommitdiffstats
path: root/src/datavisualization
diff options
context:
space:
mode:
authorTomi Korpipaa <tomi.korpipaa@qt.io>2022-12-05 14:00:23 +0200
committerTomi Korpipaa <tomi.korpipaa@qt.io>2022-12-05 14:36:41 +0200
commit011abfd74404059e887453258f1c4d1b1095d80a (patch)
tree8287faf3a637beb9b9879cc1f4b96c4043881533 /src/datavisualization
parentd63c95887d3d9aa4d4a4b2f67cb0ec2531a6995e (diff)
Fix app start - stop memory leaks in Bars3D
Change-Id: I507be70edd2426a01f5de0ca781e6a13cf608bd1 Reviewed-by: Kwanghyo Park <kwanghyo.park@qt.io> Reviewed-by: Dilek Akcay <dilek.akcay@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Diffstat (limited to 'src/datavisualization')
-rw-r--r--src/datavisualization/engine/abstract3dcontroller_p.h2
-rw-r--r--src/datavisualization/engine/axishelper_p.h2
-rw-r--r--src/datavisualization/qml/qquickbarseriesvisualizer.cpp5
-rw-r--r--src/datavisualization/qml/qquickdatavisbars.cpp2
4 files changed, 7 insertions, 4 deletions
diff --git a/src/datavisualization/engine/abstract3dcontroller_p.h b/src/datavisualization/engine/abstract3dcontroller_p.h
index e98a711f..1251e38c 100644
--- a/src/datavisualization/engine/abstract3dcontroller_p.h
+++ b/src/datavisualization/engine/abstract3dcontroller_p.h
@@ -165,7 +165,7 @@ private:
qreal m_reflectivity;
QLocale m_locale;
QVector3D m_queriedGraphPosition;
- bool m_graphPositionQueryPending;
+ bool m_graphPositionQueryPending = false;
protected:
Q3DScene *m_scene;
diff --git a/src/datavisualization/engine/axishelper_p.h b/src/datavisualization/engine/axishelper_p.h
index 6520c9be..016b8f7e 100644
--- a/src/datavisualization/engine/axishelper_p.h
+++ b/src/datavisualization/engine/axishelper_p.h
@@ -75,7 +75,7 @@ private:
float m_min;
float m_max;
- bool m_reversed;
+ bool m_reversed = false;
};
QT_END_NAMESPACE
diff --git a/src/datavisualization/qml/qquickbarseriesvisualizer.cpp b/src/datavisualization/qml/qquickbarseriesvisualizer.cpp
index 50869af7..4a8549e9 100644
--- a/src/datavisualization/qml/qquickbarseriesvisualizer.cpp
+++ b/src/datavisualization/qml/qquickbarseriesvisualizer.cpp
@@ -39,8 +39,6 @@ QQuickBarSeriesVisualizer::~QQuickBarSeriesVisualizer()
if (m_instancing)
delete m_instancing;
- if (m_seriesRootItem)
- delete m_seriesRootItem;
}
void QQuickBarSeriesVisualizer::handleSeriesMeshChanged(QAbstract3DSeries::Mesh mesh)
@@ -381,12 +379,14 @@ void QQuickBarSeriesVisualizer::updateItemMaterial(QQuick3DModel *item, bool use
if (materialsRef.size()) {
if (!qobject_cast<QQuick3DPrincipledMaterial *>(materialsRef.at(0))) {
auto principledMaterial = new QQuick3DPrincipledMaterial();
+ principledMaterial->setParent(this);
auto oldCustomMaterial = materialsRef.at(0);
materialsRef.replace(0, principledMaterial);
delete oldCustomMaterial;
}
} else {
auto principledMaterial = new QQuick3DPrincipledMaterial();
+ principledMaterial->setParent(this);
materialsRef.append(principledMaterial);
}
} else {
@@ -527,6 +527,7 @@ void QQuickBarSeriesVisualizer::updatePrincipledMaterial(QQuick3DModel *model, c
QQuick3DTexture *QQuickBarSeriesVisualizer::createTexture()
{
QQuick3DTexture *texture = new QQuick3DTexture();
+ texture->setParent(this);
texture->setRotationUV(-90.0f);
texture->setHorizontalTiling(QQuick3DTexture::ClampToEdge);
texture->setVerticalTiling(QQuick3DTexture::ClampToEdge);
diff --git a/src/datavisualization/qml/qquickdatavisbars.cpp b/src/datavisualization/qml/qquickdatavisbars.cpp
index 28d26682..db48d662 100644
--- a/src/datavisualization/qml/qquickdatavisbars.cpp
+++ b/src/datavisualization/qml/qquickdatavisbars.cpp
@@ -197,6 +197,7 @@ void QQuickDataVisBars::addSeries(QBar3DSeries *series)
{
m_barsController->addSeries(series);
auto visualizer = new QQuickBarSeriesVisualizer();
+ visualizer->setParent(this);
visualizer->m_controller = m_barsController;
visualizer->m_qml = this;
visualizer->m_dataVisBars = this;
@@ -400,6 +401,7 @@ void QQuickDataVisBars::synchData()
if (!materialsRefF.size()) {
bgMatFloor = new QQuick3DPrincipledMaterial();
+ bgMatFloor->setParent(this);
bgMatFloor->setRoughness(.3f);
bgMatFloor->setEmissiveFactor(QVector3D(.075f, .075f, .075f));
materialsRefF.append(bgMatFloor);