From 8eab1ca570989591f3f6a44e74a56a72428a9922 Mon Sep 17 00:00:00 2001 From: Markus Mohrhard Date: Fri, 23 May 2014 01:41:49 +0200 Subject: Lsan: fix memory leaks Change-Id: I35adb022f12c6833f4f29b2e8dad44394a2c4be5 --- chart2/source/view/main/GL3DRenderer.cxx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'chart2') diff --git a/chart2/source/view/main/GL3DRenderer.cxx b/chart2/source/view/main/GL3DRenderer.cxx index d6c1dff034b2..a42220ea4bbf 100644 --- a/chart2/source/view/main/GL3DRenderer.cxx +++ b/chart2/source/view/main/GL3DRenderer.cxx @@ -840,6 +840,19 @@ void OpenGL3DRenderer::RenderPolygon3D(Polygon3DInfo &polygon) glUseProgram(0); } +namespace { + +template< typename T > +struct DeletePointer +{ + void operator()(T* p) + { + delete p; + } +}; + +} + void OpenGL3DRenderer::RenderPolygon3DObject() { glDepthMask(GL_FALSE); @@ -856,6 +869,10 @@ void OpenGL3DRenderer::RenderPolygon3DObject() { RenderPolygon3D(polygon); } + std::for_each(polygon.verticesList.begin(), + polygon.verticesList.end(), DeletePointer()); + std::for_each(polygon.normalsList.begin(), + polygon.normalsList.end(), DeletePointer()); m_Polygon3DInfoList.pop_front(); } glDepthMask(GL_TRUE); -- cgit v1.2.3