From c32f52c8a00292d91ada5b8cf05b6edc6713ead2 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 20 Dec 2013 11:31:04 +0200 Subject: Check context before attempting to release opengl resources In case of QMl ApplicationWindow using applications, openGL context seems to be 0 when the renderer gets destroyed at application shutdown. Work around this by checking for context validity on destructors before attempting to free openGL resources. Change-Id: I5ba5209740f8f4467f4ba2cc8dd195171bcd13c8 Reviewed-by: Mika Salmela --- src/datavisualization/utils/abstractobjecthelper.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/datavisualization/utils/abstractobjecthelper.cpp') diff --git a/src/datavisualization/utils/abstractobjecthelper.cpp b/src/datavisualization/utils/abstractobjecthelper.cpp index d47f2fe6..96cdc0c4 100644 --- a/src/datavisualization/utils/abstractobjecthelper.cpp +++ b/src/datavisualization/utils/abstractobjecthelper.cpp @@ -34,10 +34,12 @@ AbstractObjectHelper::AbstractObjectHelper() AbstractObjectHelper::~AbstractObjectHelper() { - glDeleteBuffers(1, &m_vertexbuffer); - glDeleteBuffers(1, &m_uvbuffer); - glDeleteBuffers(1, &m_normalbuffer); - glDeleteBuffers(1, &m_elementbuffer); + if (QOpenGLContext::currentContext()) { + glDeleteBuffers(1, &m_vertexbuffer); + glDeleteBuffers(1, &m_uvbuffer); + glDeleteBuffers(1, &m_normalbuffer); + glDeleteBuffers(1, &m_elementbuffer); + } } GLuint AbstractObjectHelper::vertexBuf() -- cgit v1.2.3