summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVolker Krause <volker.krause@kdab.com>2018-01-12 14:51:20 +0100
committerSean Harmer <sean.harmer@kdab.com>2018-01-12 13:54:46 +0000
commit855a19b41237711037f85ae671d7999021b4cc4e (patch)
tree01e609af69e390c070f3beb24befa2c37a2bacc6
parentc9edc164ab165ddd31ef2411be19deb130614e8b (diff)
Don't insert nullptr shader programs into the shader cache
This can happen when the shader program fails to compile/link, and will subsequently trigger an assert in the shader cache. Change-Id: I4c4093d89a8a0f5ed1970012258be5efe8ec29c9 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
-rw-r--r--src/render/graphicshelpers/graphicscontext.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/render/graphicshelpers/graphicscontext.cpp b/src/render/graphicshelpers/graphicscontext.cpp
index 5ac83cac0..84163780d 100644
--- a/src/render/graphicshelpers/graphicscontext.cpp
+++ b/src/render/graphicshelpers/graphicscontext.cpp
@@ -517,7 +517,8 @@ void GraphicsContext::loadShader(Shader *shader, ShaderManager *manager)
shaderProgram = createShaderProgram(shader);
// Store in cache
- m_shaderCache.insert(shader->dna(), shader->peerId(), shaderProgram);
+ if (shaderProgram)
+ m_shaderCache.insert(shader->dna(), shader->peerId(), shaderProgram);
}
// Ensure the Shader node knows about the program interface