diff options
author | Tomi Korpipaa <tomi.korpipaa@qt.io> | 2019-04-29 12:50:14 +0300 |
---|---|---|
committer | Tomi Korpipää <tomi.korpipaa@qt.io> | 2019-04-29 12:58:36 +0000 |
commit | e4cd15e388f675a80a9c257655a580b1b53c240a (patch) | |
tree | 07840b4acf5790a88dfe56740e5a4cab9ec8bf03 /src/datavisualization/engine/bars3drenderer.cpp | |
parent | fd902c04b912deb81f41da0cd216d2cb1c86289b (diff) |
Fix hanging at application exit
Task-number: QTBUG-75256
Task-number: QTBUG-69627
Change-Id: If4221c8fcf783daf4bf6a38dbf1b9633a20eafb0
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Diffstat (limited to 'src/datavisualization/engine/bars3drenderer.cpp')
-rw-r--r-- | src/datavisualization/engine/bars3drenderer.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/datavisualization/engine/bars3drenderer.cpp b/src/datavisualization/engine/bars3drenderer.cpp index e8f96c87..c57339db 100644 --- a/src/datavisualization/engine/bars3drenderer.cpp +++ b/src/datavisualization/engine/bars3drenderer.cpp @@ -100,8 +100,16 @@ Bars3DRenderer::Bars3DRenderer(Bars3DController *controller) Bars3DRenderer::~Bars3DRenderer() { - fixContextBeforeDelete(); + contextCleanup(); + delete m_barShader; + delete m_barGradientShader; + delete m_depthShader; + delete m_selectionShader; + delete m_backgroundShader; +} +void Bars3DRenderer::contextCleanup() +{ if (QOpenGLContext::currentContext()) { m_textureHelper->glDeleteFramebuffers(1, &m_selectionFrameBuffer); m_textureHelper->glDeleteRenderbuffers(1, &m_selectionDepthBuffer); @@ -109,12 +117,6 @@ Bars3DRenderer::~Bars3DRenderer() m_textureHelper->glDeleteFramebuffers(1, &m_depthFrameBuffer); m_textureHelper->deleteTexture(&m_bgrTexture); } - - delete m_barShader; - delete m_barGradientShader; - delete m_depthShader; - delete m_selectionShader; - delete m_backgroundShader; } void Bars3DRenderer::initializeOpenGL() |