summaryrefslogtreecommitdiffstats
path: root/src/render/frontend/framegraph-components/qsortmethod.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/render/frontend/framegraph-components/qsortmethod.cpp')
-rw-r--r--src/render/frontend/framegraph-components/qsortmethod.cpp16
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);
}