diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2015-10-01 09:43:50 +0200 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2015-10-14 16:01:22 +0000 |
commit | eecbaaeadbbe25174d3daa322335265d3b9d5c8e (patch) | |
tree | c0b2df40dd572bcf07bf3d002fe15cfed49aedc4 /src/render/framegraph | |
parent | cebeb3c04823d68fea7475988351ac2c6473523a (diff) |
QSortMethod: only send criterion node id and not node pointers
Change-Id: Ief517b0554a400427b211b8b05f96926307dbbe3
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
Diffstat (limited to 'src/render/framegraph')
-rw-r--r-- | src/render/framegraph/qsortmethod.cpp | 4 | ||||
-rw-r--r-- | src/render/framegraph/sortmethod.cpp | 8 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/render/framegraph/qsortmethod.cpp b/src/render/framegraph/qsortmethod.cpp index 9253326f2..2eece78f1 100644 --- a/src/render/framegraph/qsortmethod.cpp +++ b/src/render/framegraph/qsortmethod.cpp @@ -91,7 +91,7 @@ void QSortMethod::addCriterion(QSortCriterion *criterion) if (d->m_changeArbiter != Q_NULLPTR) { QScenePropertyChangePtr propertyChange(new QScenePropertyChange(NodeAdded, QSceneChange::Node, id())); propertyChange->setPropertyName("sortCriterion"); - propertyChange->setValue(QVariant::fromValue(criterion)); + propertyChange->setValue(QVariant::fromValue(criterion->id())); d->notifyObservers(propertyChange); } } @@ -103,7 +103,7 @@ void QSortMethod::removeCriterion(QSortCriterion *criterion) if (d->m_changeArbiter != Q_NULLPTR) { QScenePropertyChangePtr propertyChange(new QScenePropertyChange(NodeRemoved, QSceneChange::Node, id())); propertyChange->setPropertyName("sortCriterion"); - propertyChange->setValue(QVariant::fromValue(criterion)); + propertyChange->setValue(QVariant::fromValue(criterion->id())); d->notifyObservers(propertyChange); } d->m_criteria.removeOne(criterion); diff --git a/src/render/framegraph/sortmethod.cpp b/src/render/framegraph/sortmethod.cpp index d7bcb177b..32cba9307 100644 --- a/src/render/framegraph/sortmethod.cpp +++ b/src/render/framegraph/sortmethod.cpp @@ -63,12 +63,12 @@ void SortMethod::sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) { QScenePropertyChangePtr propertyChange = qSharedPointerCast<QScenePropertyChange>(e); if (propertyChange->propertyName() == QByteArrayLiteral("sortCriterion")) { - QSortCriterion *c = propertyChange->value().value<QSortCriterion *>(); - if (c != Q_NULLPTR) { + const QNodeId cId = propertyChange->value().value<QNodeId>(); + if (!cId.isNull()) { if (e->type() == NodeAdded) - m_criteria.append(c->id()); + m_criteria.append(cId); else if (e->type() == NodeRemoved) - m_criteria.removeAll(c->id()); + m_criteria.removeAll(cId); } } else if (propertyChange->propertyName() == QByteArrayLiteral("enabled") && e->type() == NodeUpdated) { setEnabled(propertyChange->value().toBool()); |