diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2014-07-16 15:14:16 +0200 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2014-07-20 00:18:50 +0200 |
commit | 0f0bf28b05e5d08767aa98f83dc6d5c898cdcc17 (patch) | |
tree | dc3d5505057b900981d6d0d8c54ef90547391104 /src/core/aspects/qaspectmanager_p.h | |
parent | c38954f6e6721f9129fe854512bbfdee9fe94546 (diff) |
Ground work to have a proper shutdown
QAspectEngine shutdown invokes QAspectManager quit which will stop the
QAspectThread. Prior to exiting, the QAspectThread calls QAspectManager
shutdown which cleans up all aspects and deletes them.
Renderer stops the RenderThread when cleanup is called and properly deletes
the QGraphicContext and the RenderThread.
Note: Everything is called as it should. However it always ends up in a
segfault caused by the QFont::cleanup when the QThreadStorage of the main
thread GuiApplication is destroyed. I've not been able to find the cause of
that.
Change-Id: I3b7baa843af4d0418b5d04e6d1cda88b962ded7f
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/core/aspects/qaspectmanager_p.h')
-rw-r--r-- | src/core/aspects/qaspectmanager_p.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/core/aspects/qaspectmanager_p.h b/src/core/aspects/qaspectmanager_p.h index deb1c4d94..46e3eb535 100644 --- a/src/core/aspects/qaspectmanager_p.h +++ b/src/core/aspects/qaspectmanager_p.h @@ -70,7 +70,8 @@ public : QScheduler *m_scheduler; QJobManagerInterface *m_jobManager; QChangeArbiter *m_changeArbiter; - bool m_runMainLoop; + QAtomicInt m_runMainLoop; + QAtomicInt m_terminated; }; } // Qt3D |