summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/surface3drenderer.cpp
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2014-06-16 09:26:26 +0300
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2014-06-24 08:07:21 +0300
commit03baf7bc0b3bf07625e1111fe50c5262047ee302 (patch)
treed794091f991f04ddb3e1223657e5a96067826275 /src/datavisualization/engine/surface3drenderer.cpp
parentb86c799f7758f64e781ebf97a2e660675db8168c (diff)
Added some extra checking for selection texture creation
Change-Id: Iedeaa2581c32b6d46168568fef736b234ac17e95 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'src/datavisualization/engine/surface3drenderer.cpp')
-rw-r--r--src/datavisualization/engine/surface3drenderer.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp
index 38c8d8fe..60e57529 100644
--- a/src/datavisualization/engine/surface3drenderer.cpp
+++ b/src/datavisualization/engine/surface3drenderer.cpp
@@ -1190,7 +1190,8 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle)
if (!m_cachedIsSlicingActivated && (!m_renderCacheList.isEmpty()
|| !m_customRenderCache.isEmpty())
&& m_selectionState == SelectOnScene
- && m_cachedSelectionMode > QAbstract3DGraph::SelectionNone) {
+ && m_cachedSelectionMode > QAbstract3DGraph::SelectionNone
+ && m_selectionResultTexture) {
m_selectionShader->bind();
glBindFramebuffer(GL_FRAMEBUFFER, m_selectionFrameBuffer);
glViewport(0,
@@ -2690,10 +2691,12 @@ void Surface3DRenderer::updateDepthBuffer()
m_depthTexture = m_textureHelper->createDepthTextureFrameBuffer(m_primarySubViewport.size(),
m_depthFrameBuffer,
m_shadowQualityMultiplier);
- m_textureHelper->fillDepthTexture(m_depthTexture, m_primarySubViewport.size(),
- m_shadowQualityMultiplier, 1.0f);
- m_depthModelTexture = m_textureHelper->createDepthTexture(m_primarySubViewport.size(),
- m_shadowQualityMultiplier);
+ if (m_depthTexture) {
+ m_textureHelper->fillDepthTexture(m_depthTexture, m_primarySubViewport.size(),
+ m_shadowQualityMultiplier, 1.0f);
+ m_depthModelTexture = m_textureHelper->createDepthTexture(m_primarySubViewport.size(),
+ m_shadowQualityMultiplier);
+ }
if (!m_depthTexture || !m_depthModelTexture)
lowerShadowQuality();
}