summaryrefslogtreecommitdiffstats
path: root/src/render/backend/jobs/renderviewjobutils.cpp
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire350@gmail.com>2015-06-28 00:25:32 +0200
committerPaul Lemire <paul.lemire@kdab.com>2015-07-06 16:05:56 +0000
commit55b2aa151020d2f2591a4c7ebd4707cc91a40d1c (patch)
tree0fb5bc170f41e581fecefb1f649e592d7379dd02 /src/render/backend/jobs/renderviewjobutils.cpp
parent63540eb6e763757e657d7bcfde5aaa008e3ce709 (diff)
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 <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/backend/jobs/renderviewjobutils.cpp')
-rw-r--r--src/render/backend/jobs/renderviewjobutils.cpp3
1 files changed, 2 insertions, 1 deletions
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();