diff options
author | Paul Lemire <paul.lemire350@gmail.com> | 2015-06-28 00:25:32 +0200 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2015-07-06 16:05:56 +0000 |
commit | 55b2aa151020d2f2591a4c7ebd4707cc91a40d1c (patch) | |
tree | 0fb5bc170f41e581fecefb1f649e592d7379dd02 /src/render/backend/jobs/renderviewjobutils.cpp | |
parent | 63540eb6e763757e657d7bcfde5aaa008e3ce709 (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.cpp | 3 |
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(); |