diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-10-11 10:00:48 +0300 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-10-11 11:54:14 +0300 |
commit | a483fa13f4d4acebe0bb21fc569a8de23b76b56f (patch) | |
tree | a38365aab02a1b68a862589c48094b3aa921db96 /src/datavisualization/engine/bars3drenderer.cpp | |
parent | 40720e02e98c298a751d06b1152f1274027c7eb1 (diff) |
Fix slice view reset on proxy change
Change-Id: I7497da41e60ab0db405e3b44ff63771222ec14b3
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'src/datavisualization/engine/bars3drenderer.cpp')
-rw-r--r-- | src/datavisualization/engine/bars3drenderer.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/datavisualization/engine/bars3drenderer.cpp b/src/datavisualization/engine/bars3drenderer.cpp index 8083a896..74c1a99b 100644 --- a/src/datavisualization/engine/bars3drenderer.cpp +++ b/src/datavisualization/engine/bars3drenderer.cpp @@ -235,6 +235,8 @@ void Bars3DRenderer::updateScene(Q3DScene *scene) void Bars3DRenderer::render(GLuint defaultFboHandle) { + bool slicingChanged = m_cachedIsSlicingActivated != m_cachedScene->isSlicingActive(); + // Handle GL state setup for FBO buffers and clearing of the render surface Abstract3DRenderer::render(defaultFboHandle); @@ -246,7 +248,9 @@ void Bars3DRenderer::render(GLuint defaultFboHandle) drawScene(defaultFboHandle); // If slicing has been activated by this render pass, we need another render - if (m_cachedIsSlicingActivated != m_cachedScene->isSlicingActive()) + // Also trigger another render always when slicing changes in general to ensure + // final draw is correct. + if (m_cachedIsSlicingActivated != m_cachedScene->isSlicingActive() || slicingChanged) emit needRender(); } |