From 9ab2cd2d888705dcc4d103f7782b6df64d9b6d03 Mon Sep 17 00:00:00 2001 From: Andy Nichols <andy.nichols@digia.com> Date: Tue, 14 Oct 2014 15:14:13 +0200 Subject: [PATCH] QQuickSpriteEngine do not use OpenGL without checking for GLContext In the case that QQuickSpriteEngine::assembledImage() is called when there is no current OpenGL context, return a null QImage instead of crashing. This is needed for the Qt Quick 2d Renderer case. Change-Id: I75b9b1f31f05cc0800293435d660e498fecc4d20 Reviewed-by: aavit <eirik.aavitsland@digia.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org> --- src/quick/items/qquickspriteengine.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/quick/items/qquickspriteengine.cpp b/src/quick/items/qquickspriteengine.cpp index 645830c014..c5e70c9a8b 100644 --- a/src/quick/items/qquickspriteengine.cpp +++ b/src/quick/items/qquickspriteengine.cpp @@ -381,6 +381,10 @@ QImage QQuickSpriteEngine::assembledImage() m_imageStateCount = 0; int maxSize = 0; + //If there is no current OpenGL Context + if (!QOpenGLContext::currentContext()) + return QImage(); + QOpenGLContext::currentContext()->functions()->glGetIntegerv(GL_MAX_TEXTURE_SIZE, &maxSize); #ifdef SPRITE_IMAGE_DEBUG qDebug() << "MAX TEXTURE SIZE" << maxSize; -- GitLab