summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@theqtcompany.com>2015-10-29 14:44:13 +0200
committerMiikka Heikkinen <miikka.heikkinen@theqtcompany.com>2015-10-29 14:45:19 +0200
commit3017f770cdb69726c81af0b783b52a25acf07acc (patch)
treee33a2f35decab875ad35a40e58d54a667ed29baf
parentc6090dc08fbb6c88cc3a35482660839664eb46e7 (diff)
parent105faffbcba19e90545afcf6d9292c5dd2c7ac94 (diff)
Merge branch 'develop'
-rw-r--r--dist/changes-1.2.21
-rw-r--r--src/datavisualization/engine/abstract3drenderer.cpp2
-rw-r--r--src/datavisualization/engine/shaders/texture3dslice.frag2
3 files changed, 4 insertions, 1 deletions
diff --git a/dist/changes-1.2.2 b/dist/changes-1.2.2
index b815f1e8..1df684bd 100644
--- a/dist/changes-1.2.2
+++ b/dist/changes-1.2.2
@@ -6,3 +6,4 @@ Fixed issues
- Compilation fixes for Qt 5.6
- Fixed OpenGL 3.x crash
- Fixed renderer access synchronization in QML
+- Fixed a framebuffer leak on graph resize
diff --git a/src/datavisualization/engine/abstract3drenderer.cpp b/src/datavisualization/engine/abstract3drenderer.cpp
index 687a303f..3ee435bc 100644
--- a/src/datavisualization/engine/abstract3drenderer.cpp
+++ b/src/datavisualization/engine/abstract3drenderer.cpp
@@ -327,6 +327,8 @@ void Abstract3DRenderer::initCursorPositionShaders(const QString &vertexShader,
void Abstract3DRenderer::initCursorPositionBuffer()
{
m_textureHelper->deleteTexture(&m_cursorPositionTexture);
+ m_textureHelper->glDeleteFramebuffers(1, &m_cursorPositionFrameBuffer);
+ m_cursorPositionFrameBuffer = 0;
if (m_primarySubViewport.size().isEmpty())
return;
diff --git a/src/datavisualization/engine/shaders/texture3dslice.frag b/src/datavisualization/engine/shaders/texture3dslice.frag
index c555af98..63abf9ec 100644
--- a/src/datavisualization/engine/shaders/texture3dslice.frag
+++ b/src/datavisualization/engine/shaders/texture3dslice.frag
@@ -20,7 +20,7 @@ void main() {
// Find out where ray intersects the slice planes
vec3 normRayDir = normalize(rayDir);
highp vec3 rayStart = pos;
- highp float minT = 2.0f;
+ highp float minT = 2.0;
if (normRayDir.x != 0.0 && normRayDir.y != 0.0 && normRayDir.z != 0.0) {
highp vec3 boxBounds = vec3(1.0, 1.0, 1.0);
highp vec3 invRayDir = 1.0 / normRayDir;