summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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;