summaryrefslogtreecommitdiffstats
path: root/src/core
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2015-02-25 16:33:51 +0100
committerSean Harmer <sean.harmer@kdab.com>2015-02-28 16:29:01 +0000
commit8d33af238e7b855bd5a217302e586d1dfe73066e (patch)
tree878cb85d034b18e982f60184d3d30072784c359e /src/core
parent66fc1e35db664ecaf0b37c855eea7391c0576773 (diff)
QBackendNodeFunctor: get and destroy now take a QNodeId
This will help fixing the dynamic destruction in follow up patches. Change-Id: Id44fbeac388628c0e563d288e13d1f15d7ac0c24 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/core')
-rw-r--r--src/core/aspects/qabstractaspect.cpp8
-rw-r--r--src/core/nodes/qbackendnode.h4
2 files changed, 6 insertions, 6 deletions
diff --git a/src/core/aspects/qabstractaspect.cpp b/src/core/aspects/qabstractaspect.cpp
index ca8a543d6..82a1065f9 100644
--- a/src/core/aspects/qabstractaspect.cpp
+++ b/src/core/aspects/qabstractaspect.cpp
@@ -100,7 +100,7 @@ QBackendNode *QAbstractAspect::createBackendNode(QNode *frontend) const
metaObj = metaObj->superClass();
}
if (!functor.isNull()) {
- QBackendNode *backend = functor->get(frontend);
+ QBackendNode *backend = functor->get(frontend->id());
if (backend != Q_NULLPTR)
return backend;
backend = functor->create(frontend, this);
@@ -131,7 +131,7 @@ QBackendNode *QAbstractAspect::getBackendNode(QNode *frontend) const
metaObj = metaObj->superClass();
}
if (!functor.isNull())
- return functor->get(frontend);
+ return functor->get(frontend->id());
return Q_NULLPTR;
}
@@ -146,13 +146,13 @@ void QAbstractAspect::clearBackendNode(QNode *frontend) const
metaObj = metaObj->superClass();
}
if (!functor.isNull()) {
- QBackendNode *backend = functor->get(frontend);
+ QBackendNode *backend = functor->get(frontend->id());
if (backend != Q_NULLPTR) {
QBackendNodePrivate *backendPriv = QBackendNodePrivate::get(backend);
d->m_arbiter->unregisterObserver(backendPriv, backend->peerUuid());
if (backend->mode() == QBackendNode::ReadWrite)
d->m_arbiter->scene()->removeObservable(backendPriv, backend->peerUuid());
- functor->destroy(frontend);
+ functor->destroy(frontend->id());
}
}
}
diff --git a/src/core/nodes/qbackendnode.h b/src/core/nodes/qbackendnode.h
index 6b7950eb6..d37a902bb 100644
--- a/src/core/nodes/qbackendnode.h
+++ b/src/core/nodes/qbackendnode.h
@@ -55,8 +55,8 @@ class QT3DCORESHARED_EXPORT QBackendNodeFunctor
public:
virtual ~QBackendNodeFunctor() {}
virtual QBackendNode *create(QNode *frontend, const QBackendNodeFactory *factory) const = 0;
- virtual QBackendNode *get(QNode *frontend) const = 0;
- virtual void destroy(QNode *frontend) const = 0;
+ virtual QBackendNode *get(const QNodeId &id) const = 0;
+ virtual void destroy(const QNodeId &id) const = 0;
};
typedef QSharedPointer<QBackendNodeFunctor> QBackendNodeFunctorPtr;