summaryrefslogtreecommitdiffstats
path: root/src/core/qchangearbiter_p.h
diff options
context:
space:
mode:
authorSean Harmer <sean.harmer@kdab.com>2014-11-02 20:39:03 +0000
committerSean Harmer <sean.harmer@kdab.com>2014-11-03 17:42:51 +0100
commitea3f99ebe1c846f46fa73d86aa65c4d660a848c4 (patch)
tree4d97dd34a99cec4e7ed56a872fb9d64dbb19d68a /src/core/qchangearbiter_p.h
parent46c7d625c0ffe6ec609efdb28a0ea5e065e48bb3 (diff)
More work towards a clean shutdown
The QAspectJobManager doesn't really need to be public now I think but as it still is let's make the base class have it's own private class that inherits from QObjectPrivate. The ThreadWeaver threads all get cleaned up cleanly upon shutdown. When trying with cylinder-cpp with all the rendering stuff in main() commented out, we consistently get the crash in QFontCache. With the rendering stuff enabled there is also an assert inside the swapbuffers() call. This is because the render thread is not cleanly shutdown yet. The QFontCache crash is something to do with freeing thread-local storage. I will continue to investigate. Change-Id: Ib3ad3ea04ae4859d27f0dd4604b00bc5a38859a1 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/core/qchangearbiter_p.h')
-rw-r--r--src/core/qchangearbiter_p.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/core/qchangearbiter_p.h b/src/core/qchangearbiter_p.h
index 2a1ae30f1..eebff4bd7 100644
--- a/src/core/qchangearbiter_p.h
+++ b/src/core/qchangearbiter_p.h
@@ -60,7 +60,7 @@ namespace Qt3D {
class QNode;
class QObservableInterface;
-class QAspectJobManagerInterface;
+class QAbstractAspectJobManager;
class QSceneObserverInterface;
class QPostman;
class QSceneInterface;
@@ -78,7 +78,7 @@ public:
explicit QChangeArbiter(QObject *parent = 0);
~QChangeArbiter();
- void initialize(Qt3D::QAspectJobManagerInterface *jobManager);
+ void initialize(Qt3D::QAbstractAspectJobManager *jobManager);
void syncChanges();
@@ -119,7 +119,7 @@ protected:
private:
QMutex m_mutex;
- QAspectJobManagerInterface *m_jobManager;
+ QAbstractAspectJobManager *m_jobManager;
// The lists of observers indexed by observable. We maintain two
// distinct hashes: