diff options
author | Andy Nichols <andy.nichols@digia.com> | 2014-10-14 15:31:05 +0200 |
---|---|---|
committer | Andy Nichols <andy.nichols@digia.com> | 2014-10-21 12:11:30 +0200 |
commit | 8c257264c1873dcf11115d738f9510c1b65da844 (patch) | |
tree | 544eda05b8293c4310ebf49c7d10de4053d7b827 | |
parent | 9ab2cd2d888705dcc4d103f7782b6df64d9b6d03 (diff) |
QQuickCustomParticle: Check for current OpenGL Context before use
QQuickCustomParticle::buildCustomNodes() assumes there is a valid OpenGL
context, but when there is not it will simply crash. Instead we check
for a valid current OpenGL context first, and return 0 if it is not
availalbe. This needed for the Qt Quick 2d Renderer.
Change-Id: I6bfcfc8fa9581bfd27015f719fc527c36492eade
Reviewed-by: aavit <eirik.aavitsland@digia.com>
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
-rw-r--r-- | src/particles/qquickcustomparticle.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/particles/qquickcustomparticle.cpp b/src/particles/qquickcustomparticle.cpp index e03acd693a..2ab24175a3 100644 --- a/src/particles/qquickcustomparticle.cpp +++ b/src/particles/qquickcustomparticle.cpp @@ -303,6 +303,9 @@ QQuickShaderEffectNode *QQuickCustomParticle::prepareNextFrame(QQuickShaderEffec QQuickShaderEffectNode* QQuickCustomParticle::buildCustomNodes() { + if (!QOpenGLContext::currentContext()) + return 0; + if (QOpenGLContext::currentContext()->isOpenGLES() && m_count * 4 > 0xffff) { printf("CustomParticle: Too many particles... \n"); return 0; |