summaryrefslogtreecommitdiffstats
path: root/src/core/qchangearbiter.cpp
diff options
context:
space:
mode:
authorAndy Nichols <andy.nichols@theqtcompany.com>2015-08-17 10:21:56 +0200
committerAndy Nichols <andy.nichols@theqtcompany.com>2015-08-17 10:22:07 +0200
commit2c4f13290cb9f96184d386c8a3a525569359f553 (patch)
tree89424c7992fee950eb0c06404729d4cbcd12f027 /src/core/qchangearbiter.cpp
parentb6c0e90171fcddbd71bbdb84aca0b2c0b87149ef (diff)
parente8df467c8d15a203bffaee858dbb93507700eb61 (diff)
Merge remote-tracking branch 'origin/5.5' into dev
Diffstat (limited to 'src/core/qchangearbiter.cpp')
-rw-r--r--src/core/qchangearbiter.cpp18
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