diff options
Diffstat (limited to 'src/render/frontend/framegraph-components/qsortmethod.cpp')
-rw-r--r-- | src/render/frontend/framegraph-components/qsortmethod.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/render/frontend/framegraph-components/qsortmethod.cpp b/src/render/frontend/framegraph-components/qsortmethod.cpp index 39671af84..f71b09f68 100644 --- a/src/render/frontend/framegraph-components/qsortmethod.cpp +++ b/src/render/frontend/framegraph-components/qsortmethod.cpp @@ -41,6 +41,7 @@ #include "qsortmethod.h" #include "qsortmethod_p.h" +#include "qsortcriterion_p.h" #include <Qt3DCore/qscenepropertychange.h> #include <Qt3DRenderer/qsortcriterion.h> @@ -63,16 +64,15 @@ QSortMethod::QSortMethod(QSortMethodPrivate &dd, QNode *parent) { } -QSortMethod *QSortMethod::doClone(bool isClone) const +QSortMethod *QSortMethod::doClone() const { Q_D(const QSortMethod); QSortMethod *clone = new QSortMethod(); - clone->copy(this); - clone->d_func()->m_isClone = isClone; + clone->d_func()->copy(d_func()); Q_FOREACH (QSortCriterion *c, d->m_criteria) - clone->addCriterion(qobject_cast<QSortCriterion *>(c->clone(isClone))); + clone->addCriterion(qobject_cast<QSortCriterion *>(QNodePrivate::get(c)->clone())); return clone; } @@ -83,14 +83,14 @@ void QSortMethod::addCriterion(QSortCriterion *criterion) if (!d->m_criteria.contains(criterion)) { d->m_criteria.append(criterion); - if (!criterion->parent() || criterion->parent() == this) - QNode::addChild(criterion); + if (!criterion->parent()) + criterion->setParent(this); if (d->m_changeArbiter != Q_NULLPTR) { QScenePropertyChangePtr propertyChange(new QScenePropertyChange(NodeAdded, this)); propertyChange->setPropertyName(QByteArrayLiteral("sortCriterion")); propertyChange->setValue(QVariant::fromValue(criterion)); - notifyObservers(propertyChange); + d->notifyObservers(propertyChange); } } } @@ -102,7 +102,7 @@ void QSortMethod::removeCriterion(QSortCriterion *criterion) QScenePropertyChangePtr propertyChange(new QScenePropertyChange(NodeRemoved, this)); propertyChange->setPropertyName(QByteArrayLiteral("sortCriterion")); propertyChange->setValue(QVariant::fromValue(criterion)); - notifyObservers(propertyChange); + d->notifyObservers(propertyChange); } d->m_criteria.removeOne(criterion); } |