summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/surfaceseriesrendercache.cpp
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2014-02-25 12:01:21 +0200
committerTomi Korpipää <tomi.korpipaa@digia.com>2014-02-25 12:34:12 +0200
commit149c93ced7fdfa7af2192d4999837a74c268cc25 (patch)
tree5e99b10e9b95eb234ee985b368c389ec4530b592 /src/datavisualization/engine/surfaceseriesrendercache.cpp
parentb4f524874ff25559034f1c1ce940386280ae776b (diff)
Fix Valgrind found issues
Change-Id: Iccacab527abf745e7ccd1e562ff9ea5dea4c8005 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'src/datavisualization/engine/surfaceseriesrendercache.cpp')
-rw-r--r--src/datavisualization/engine/surfaceseriesrendercache.cpp33
1 files changed, 21 insertions, 12 deletions
diff --git a/src/datavisualization/engine/surfaceseriesrendercache.cpp b/src/datavisualization/engine/surfaceseriesrendercache.cpp
index bc261f05..ba25d71d 100644
--- a/src/datavisualization/engine/surfaceseriesrendercache.cpp
+++ b/src/datavisualization/engine/surfaceseriesrendercache.cpp
@@ -50,18 +50,6 @@ SurfaceSeriesRenderCache::SurfaceSeriesRenderCache()
SurfaceSeriesRenderCache::~SurfaceSeriesRenderCache()
{
- delete m_surfaceObj;
- delete m_sliceSurfaceObj;
- for (int i = 0; i < m_dataArray.size(); i++)
- delete m_dataArray.at(i);
- m_dataArray.clear();
-
- for (int i = 0; i < m_sliceDataArray.size(); i++)
- delete m_sliceDataArray.at(i);
- m_sliceDataArray.clear();
-
- delete m_sliceSelectionPointer;
- delete m_mainSelectionPointer;
}
void SurfaceSeriesRenderCache::populate(QSurface3DSeries *series, Abstract3DRenderer *renderer)
@@ -79,4 +67,25 @@ void SurfaceSeriesRenderCache::populate(QSurface3DSeries *series, Abstract3DRend
}
}
+void SurfaceSeriesRenderCache::cleanup(TextureHelper *texHelper)
+{
+ if (QOpenGLContext::currentContext())
+ texHelper->deleteTexture(&m_selectionTexture);
+
+ delete m_surfaceObj;
+ delete m_sliceSurfaceObj;
+ for (int i = 0; i < m_dataArray.size(); i++)
+ delete m_dataArray.at(i);
+ m_dataArray.clear();
+
+ for (int i = 0; i < m_sliceDataArray.size(); i++)
+ delete m_sliceDataArray.at(i);
+ m_sliceDataArray.clear();
+
+ delete m_sliceSelectionPointer;
+ delete m_mainSelectionPointer;
+
+ SeriesRenderCache::cleanup(texHelper);
+}
+
QT_END_NAMESPACE_DATAVISUALIZATION