diff options
author | Mauro Persano <mauro.persano@kdab.com> | 2016-01-07 10:21:50 -0200 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2016-01-07 19:10:17 +0000 |
commit | b4b4a800aa059eaf8b4f5573043a5798be5b372a (patch) | |
tree | de45255cace173ad7e09e192b9c3f0562a651a70 | |
parent | 0bd3027f0f81321ce04e9d255cb2a0358d1c83ad (diff) |
Fix RenderViewJob crash on Renderer shutdown
Set Renderer::m_running to zero to prevent crashes when Renderer::shutdown
is called while a RenderViewJob is running.
This only affects QtQuick/Scene3D. It's not a problem in the case of pure
Qt3D, as Renderer::m_running is set to zero when Renderer::setSurface(0)
is called before Renderer::shutdown.
Change-Id: I41f8da7589c098c6df9d24792932a293df7982aa
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
-rw-r--r-- | src/render/backend/renderer.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/render/backend/renderer.cpp b/src/render/backend/renderer.cpp index 3a1a8b1ca..e2d4ef768 100644 --- a/src/render/backend/renderer.cpp +++ b/src/render/backend/renderer.cpp @@ -378,6 +378,8 @@ void Renderer::shutdown() { // TO DO: Check that this works with iOs and other cases if (m_surface) { + m_running.fetchAndStoreOrdered(0); + m_graphicsContext->makeCurrent(m_surface); // Stop and destroy the OpenGL logger if (m_debugLogger) { |