diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2018-03-22 16:06:00 +0100 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2018-03-23 09:43:39 +0000 |
commit | 2bf1f907e9e6ac87fc039d674eaca5179c5029f6 (patch) | |
tree | 94426d918d34849556e634eae8f561bc0da5effd /src/render/renderers/opengl/renderer/renderer_p.h | |
parent | 96d7e81706114084e850f0215351d85be0486b5c (diff) |
Fix race in startup/shutdown
When the AspectEngine with a QRenderAspect (and RenderThread) is started and
stopped within the same loop, there was a race in which Renderer::shutdown
would possibly be called while Renderer::initialize wasn't complete.
Apart from testing, such starting and stopping within the same loop is
strongly discouraged as Qt3D doesn't have time to create an offscreen surface
to properly release GL resources.
Change-Id: Ie6f0a0698c213e3015bc9c51efc48d8706f20b3b
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/renderers/opengl/renderer/renderer_p.h')
-rw-r--r-- | src/render/renderers/opengl/renderer/renderer_p.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/render/renderers/opengl/renderer/renderer_p.h b/src/render/renderers/opengl/renderer/renderer_p.h index 923f4edc4..1d459a15e 100644 --- a/src/render/renderers/opengl/renderer/renderer_p.h +++ b/src/render/renderers/opengl/renderer/renderer_p.h @@ -314,6 +314,7 @@ private: QSemaphore m_submitRenderViewsSemaphore; QSemaphore m_waitForInitializationToBeCompleted; + QMutex m_hasBeenInitializedMutex; QAtomicInt m_running; |