summaryrefslogtreecommitdiffstats
path: root/src/core/qchangearbiter.cpp
diff options
context:
space:
mode:
authorSean Harmer <sean.harmer@kdab.com>2014-06-08 12:26:52 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-06-08 15:00:04 +0200
commita9d9f43679cc0b85286ff7ed9457f79f5d9b1aab (patch)
tree00bae7fdcf0070180d82c1740755ec650852849a /src/core/qchangearbiter.cpp
parent364e9616b70ae3464fca64f541cdc7e666396e3b (diff)
All Node subclasses now use same route to talk to QChangeArbiter
Node no longer inherits from QObservable as QObservable is meant for use only by aspects. Node stores a QChangeArbiter pointer directly so that we can call the dedicated locking functions on it. The locking is needed for Node subclasses as these live in the main thread which is not managed by the QAspectmanager to work in sync with the QChangeArbiter. Change-Id: I1151ca107b4cb29dd303371c0095c022c43bc008 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/core/qchangearbiter.cpp')
-rw-r--r--src/core/qchangearbiter.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/core/qchangearbiter.cpp b/src/core/qchangearbiter.cpp
index 5bb349a21..508426969 100644
--- a/src/core/qchangearbiter.cpp
+++ b/src/core/qchangearbiter.cpp
@@ -96,8 +96,8 @@ void QChangeArbiter::distributeQueueChanges(ChangeQueue *changeQueue)
break;
}
- case QSceneChange::ComponentType: {
- Component *subject = change->m_subject.m_component;
+ case QSceneChange::NodeType: {
+ Node *subject = change->m_subject.m_node;
if (m_componentObservations.contains(subject)) {
QObserverList &observers = m_componentObservations[subject];
Q_FOREACH (const QObserverPair&observer, observers) {
@@ -144,21 +144,21 @@ void QChangeArbiter::registerObserver(QObserverInterface *observer,
}
void QChangeArbiter::registerObserver(QObserverInterface *observer,
- Component *component,
+ Node *node,
ChangeFlags changeFlags)
{
qCDebug(ChangeArbiter) << Q_FUNC_INFO;
- if (!observer || !component)
+ if (!observer || !node)
return;
// Store info about which observers are watching which observables.
// Protect access as this could be called from any thread
QMutexLocker locker(&m_mutex);
- QObserverList &observers = m_componentObservations[component];
+ QObserverList &observers = m_componentObservations[node];
observers.append(QObserverPair(changeFlags, observer));
// Register ourselves with the observable as the intermediary
- component->registerChangeArbiter(this);
+ node->registerChangeArbiter(this);
}
void QChangeArbiter::unregisterObserver(QObserverInterface *observer,
@@ -174,7 +174,7 @@ void QChangeArbiter::unregisterObserver(QObserverInterface *observer,
}
}
-void QChangeArbiter::unregisterObserver(QObserverInterface *observer, Component *subject)
+void QChangeArbiter::unregisterObserver(QObserverInterface *observer, Node *subject)
{
QMutexLocker locker(&m_mutex);
if (m_componentObservations.contains(subject)) {