summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/surface3drenderer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/datavisualization/engine/surface3drenderer.cpp')
-rw-r--r--src/datavisualization/engine/surface3drenderer.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp
index 47978170..ffcdeb7a 100644
--- a/src/datavisualization/engine/surface3drenderer.cpp
+++ b/src/datavisualization/engine/surface3drenderer.cpp
@@ -119,10 +119,6 @@ Surface3DRenderer::~Surface3DRenderer()
m_textureHelper->deleteTexture(&m_depthTexture);
m_textureHelper->deleteTexture(&m_depthModelTexture);
m_textureHelper->deleteTexture(&m_selectionResultTexture);
- foreach (SurfaceSeriesRenderCache *cache, m_renderCacheList) {
- GLuint texture = cache->selectionTexture();
- m_textureHelper->deleteTexture(&texture);
- }
}
delete m_depthShader;
delete m_backgroundShader;
@@ -136,8 +132,10 @@ Surface3DRenderer::~Surface3DRenderer()
delete m_gridLineObj;
delete m_labelObj;
- foreach (SurfaceSeriesRenderCache *cache, m_renderCacheList)
+ foreach (SurfaceSeriesRenderCache *cache, m_renderCacheList) {
+ cache->cleanup(m_textureHelper);
delete cache;
+ }
m_renderCacheList.clear();
}
@@ -272,6 +270,7 @@ void Surface3DRenderer::updateSeries(const QList<QAbstract3DSeries *> &seriesLis
updateSelectedPoint(Surface3DController::invalidSelectionPosition(), 0);
m_renderCacheList.remove(cache->series());
+ cache->cleanup(m_textureHelper);
delete cache;
m_selectionTexturesDirty = true;