From 55b2aa151020d2f2591a4c7ebd4707cc91a40d1c Mon Sep 17 00:00:00 2001 From: Paul Lemire Date: Sun, 28 Jun 2015 00:25:32 +0200 Subject: Properly shutdown the renderer Now all pure Qt3D examples have a 0 exit code. Still need some work for QtQuick/Scene3D examples. The problem being that we hit the QOpenGLDebugger issue since we are unable to shutdown properly the Qt3D renderer because Scene3D being a QQuickItem is destroyed before the QQuickWindow and we never have a chance to receive the sceneGraphInvalidated signal. Change-Id: I1d30e0d883057630a55cd3f99eaa6bdb65a8df26 Reviewed-by: Sean Harmer --- src/render/backend/jobs/renderviewjobutils.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/render/backend/jobs/renderviewjobutils.cpp') diff --git a/src/render/backend/jobs/renderviewjobutils.cpp b/src/render/backend/jobs/renderviewjobutils.cpp index 50ba5a0ab..6cd2b60fd 100644 --- a/src/render/backend/jobs/renderviewjobutils.cpp +++ b/src/render/backend/jobs/renderviewjobutils.cpp @@ -212,7 +212,8 @@ RenderTechnique *findTechniqueForEffect(Renderer *renderer, if (!technique) continue; - if (*renderer->contextInfo() == *technique->openGLFilter()) { + // We need to be sure the renderer is still running <=> still has a QGraphicsContext + if (renderer->isRunning() && *renderer->contextInfo() == *technique->openGLFilter()) { // If no techniqueFilter is present, we return the technique as it satisfies OpenGL version const TechniqueFilter *techniqueFilter = renderView->techniqueFilter(); -- cgit v1.2.3