diff options
Diffstat (limited to 'src/datavisualization/engine/scatter3drenderer.cpp')
-rw-r--r-- | src/datavisualization/engine/scatter3drenderer.cpp | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/src/datavisualization/engine/scatter3drenderer.cpp b/src/datavisualization/engine/scatter3drenderer.cpp index 8df8f4ea..fbf2b2cf 100644 --- a/src/datavisualization/engine/scatter3drenderer.cpp +++ b/src/datavisualization/engine/scatter3drenderer.cpp @@ -87,15 +87,7 @@ Scatter3DRenderer::Scatter3DRenderer(Scatter3DController *controller) Scatter3DRenderer::~Scatter3DRenderer() { - fixContextBeforeDelete(); - - if (QOpenGLContext::currentContext()) { - m_textureHelper->glDeleteFramebuffers(1, &m_selectionFrameBuffer); - m_textureHelper->glDeleteRenderbuffers(1, &m_selectionDepthBuffer); - m_textureHelper->deleteTexture(&m_selectionTexture); - m_textureHelper->glDeleteFramebuffers(1, &m_depthFrameBuffer); - m_textureHelper->deleteTexture(&m_bgrTexture); - } + contextCleanup(); delete m_dotShader; delete m_staticSelectedItemGradientShader; delete m_staticSelectedItemShader; @@ -106,6 +98,17 @@ Scatter3DRenderer::~Scatter3DRenderer() delete m_staticGradientPointShader; } +void Scatter3DRenderer::contextCleanup() +{ + if (QOpenGLContext::currentContext()) { + m_textureHelper->glDeleteFramebuffers(1, &m_selectionFrameBuffer); + m_textureHelper->glDeleteRenderbuffers(1, &m_selectionDepthBuffer); + m_textureHelper->deleteTexture(&m_selectionTexture); + m_textureHelper->glDeleteFramebuffers(1, &m_depthFrameBuffer); + m_textureHelper->deleteTexture(&m_bgrTexture); + } +} + void Scatter3DRenderer::initializeOpenGL() { Abstract3DRenderer::initializeOpenGL(); |