diff options
author | Andy Nichols <andy.nichols@theqtcompany.com> | 2015-08-17 10:21:56 +0200 |
---|---|---|
committer | Andy Nichols <andy.nichols@theqtcompany.com> | 2015-08-17 10:22:07 +0200 |
commit | 2c4f13290cb9f96184d386c8a3a525569359f553 (patch) | |
tree | 89424c7992fee950eb0c06404729d4cbcd12f027 /src/core/qchangearbiter.cpp | |
parent | b6c0e90171fcddbd71bbdb84aca0b2c0b87149ef (diff) | |
parent | e8df467c8d15a203bffaee858dbb93507700eb61 (diff) |
Merge remote-tracking branch 'origin/5.5' into dev
Change-Id: Id0a3559e001631a077bc1c3a17c30a48599eecb9
Diffstat (limited to 'src/core/qchangearbiter.cpp')
-rw-r--r-- | src/core/qchangearbiter.cpp | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/core/qchangearbiter.cpp b/src/core/qchangearbiter.cpp index a52d58e9b..465e6f2b4 100644 --- a/src/core/qchangearbiter.cpp +++ b/src/core/qchangearbiter.cpp @@ -39,7 +39,7 @@ #include "qabstractaspectjobmanager_p.h" #include "qsceneobserverinterface.h" -#include "qsceneinterface.h" +#include <Qt3DCore/private/qscene_p.h> #include <Qt3DCore/private/corelogging_p.h> #include <QMutexLocker> #include <QReadLocker> @@ -193,17 +193,17 @@ void QChangeArbiter::syncChanges() distributeQueueChanges(changeQueue); } -void QChangeArbiter::setScene(QSceneInterface *scene) +void QChangeArbiter::setScene(QScene *scene) { m_scene = scene; } -QObserverInterface *QChangeArbiter::postman() const +QAbstractPostman *QChangeArbiter::postman() const { return m_postman; } -QSceneInterface *QChangeArbiter::scene() const +QScene *QChangeArbiter::scene() const { return m_scene; } @@ -260,9 +260,17 @@ void QChangeArbiter::sceneChangeEventWithLock(const QSceneChangePtr &e) sceneChangeEvent(e); } +void QChangeArbiter::sceneChangeEventWithLock(const QSceneChangeList &e) +{ + QMutexLocker locker(&m_mutex); + QChangeQueue *localChangeQueue = m_tlsChangeQueue.localData(); + qCDebug(ChangeArbiter) << Q_FUNC_INFO << "Handles " << e.size() << " changes at once"; + localChangeQueue->insert(localChangeQueue->end(), e.begin(), e.end()); +} + // Either we have the postman or we could make the QChangeArbiter agnostic to the postman // but that would require adding it to every QObserverList in m_aspectObservations. -void QChangeArbiter::setPostman(QObserverInterface *postman) +void QChangeArbiter::setPostman(QAbstractPostman *postman) { if (m_postman != postman) { // Unregister old postman here if needed |