diff options
author | Andy Shaw <andy.shaw@qt.io> | 2020-06-15 10:04:16 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2020-06-15 11:23:23 +0000 |
commit | 5600231953e7e68965d66617509c0513bef7a2ca (patch) | |
tree | 6a041e8ce92c04fa68ad500d4c9abdda4d830287 /src | |
parent | a2f2bf69d2c8e212e7cd68f155f9d7251681a3f5 (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.cpp | 6 | ||||
-rw-r--r-- | src/plugins/renderers/opengl/renderer/glshader_p.h | 1 |
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(); |