summaryrefslogtreecommitdiffstats
path: root/src/graphs3d/qml/qquickgraphssurface.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/graphs3d/qml/qquickgraphssurface.cpp')
-rw-r--r--src/graphs3d/qml/qquickgraphssurface.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/graphs3d/qml/qquickgraphssurface.cpp b/src/graphs3d/qml/qquickgraphssurface.cpp
index e4a7a89..fc4b835 100644
--- a/src/graphs3d/qml/qquickgraphssurface.cpp
+++ b/src/graphs3d/qml/qquickgraphssurface.cpp
@@ -660,12 +660,12 @@ void QQuickGraphsSurface::removeSeries(QSurface3DSeries *series)
series->setParent(this); // Reparent as removing will leave series parentless
for (int i = 0; i < m_model.size();) {
if (m_model[i]->series == series) {
- m_model[i]->model->deleteLater();
- m_model[i]->gridModel->deleteLater();
- m_model[i]->proxyModel->deleteLater();
+ delete3DModel(m_model[i]->model);
+ delete3DModel(m_model[i]->gridModel);
+ delete3DModel(m_model[i]->proxyModel);
if (sliceView()) {
- m_model[i]->sliceModel->deleteLater();
- m_model[i]->sliceGridModel->deleteLater();
+ delete3DModel(m_model[i]->sliceModel);
+ delete3DModel(m_model[i]->sliceGridModel);
}
m_model.removeAt(i);
} else {
@@ -2151,6 +2151,14 @@ void QQuickGraphsSurface::addSliceModel(SurfaceModel *model)
model->sliceGridModel = gridModel;
}
+void QQuickGraphsSurface::delete3DModel(QQuick3DModel *model)
+{
+ if (model) {
+ model->deleteLater();
+ model = nullptr;
+ }
+}
+
void QQuickGraphsSurface::updateSingleHighlightColor()
{
m_instancing->setColor(theme()->singleHighlightColor());