summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndy Shaw <andy.shaw@qt.io>2020-06-15 10:04:16 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2020-06-15 11:23:23 +0000
commit5600231953e7e68965d66617509c0513bef7a2ca (patch)
tree6a041e8ce92c04fa68ad500d4c9abdda4d830287 /src
parenta2f2bf69d2c8e212e7cd68f155f9d7251681a3f5 (diff)
Disconnect the context connection when the GLShader is deleted
Change-Id: Iacb32f9ea0047eedf87e53ebdeaeecada0f7cd48 Reviewed-by: Mike Krus <mike.krus@kdab.com> (cherry picked from commit 100eed75b4eaee031d8144b8ff1ce84361cde99c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/renderers/opengl/renderer/glshader.cpp6
-rw-r--r--src/plugins/renderers/opengl/renderer/glshader_p.h1
2 files changed, 7 insertions, 0 deletions
diff --git a/src/plugins/renderers/opengl/renderer/glshader.cpp b/src/plugins/renderers/opengl/renderer/glshader.cpp
index 564e78a8e..55a711921 100644
--- a/src/plugins/renderers/opengl/renderer/glshader.cpp
+++ b/src/plugins/renderers/opengl/renderer/glshader.cpp
@@ -101,6 +101,12 @@ GLShader::GLShader()
m_shaderCode.resize(static_cast<int>(QShaderProgram::Compute) + 1);
}
+GLShader::~GLShader()
+{
+ if (m_contextConnection)
+ QObject::disconnect(m_contextConnection);
+}
+
void GLShader::setGraphicsContext(GraphicsContext *context)
{
QMutexLocker lock(&m_mutex);
diff --git a/src/plugins/renderers/opengl/renderer/glshader_p.h b/src/plugins/renderers/opengl/renderer/glshader_p.h
index ae447cd18..977587c68 100644
--- a/src/plugins/renderers/opengl/renderer/glshader_p.h
+++ b/src/plugins/renderers/opengl/renderer/glshader_p.h
@@ -75,6 +75,7 @@ class Q_AUTOTEST_EXPORT GLShader
{
public:
GLShader();
+ ~GLShader();
void setGraphicsContext(GraphicsContext *context);
GraphicsContext *graphicsContext();