summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMauro Persano <mauro.persano@kdab.com>2016-01-07 10:21:50 -0200
committerSean Harmer <sean.harmer@kdab.com>2016-01-07 19:10:17 +0000
commitb4b4a800aa059eaf8b4f5573043a5798be5b372a (patch)
treede45255cace173ad7e09e192b9c3f0562a651a70
parent0bd3027f0f81321ce04e9d255cb2a0358d1c83ad (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.cpp2
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) {