summaryrefslogtreecommitdiffstats
path: root/src/render/materialsystem/qmaterial.cpp
diff options
context:
space:
mode:
authorSean Harmer <sean.harmer@kdab.com>2016-04-24 14:36:20 +0100
committerSean Harmer <sean.harmer@kdab.com>2016-04-27 11:19:32 +0000
commit5e6567c809d8771343aed756e30a6fdb7d034873 (patch)
treedd144eb504c0e6f25e60dbe0c451087a49fe846a /src/render/materialsystem/qmaterial.cpp
parent5015fe0baf7e4f8ab108c015875db5ee28e53431 (diff)
Material use new added/removed change types
Change-Id: I107fe1a4fcb74660454c8917d1a4bda94891bd84 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/render/materialsystem/qmaterial.cpp')
-rw-r--r--src/render/materialsystem/qmaterial.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/render/materialsystem/qmaterial.cpp b/src/render/materialsystem/qmaterial.cpp
index a9a6eabc0..93518f602 100644
--- a/src/render/materialsystem/qmaterial.cpp
+++ b/src/render/materialsystem/qmaterial.cpp
@@ -44,6 +44,8 @@
#include <Qt3DRender/private/renderlogging_p.h>
#include "qparameter.h"
#include <Qt3DCore/qnodepropertychange.h>
+#include <Qt3DCore/qnodeaddedpropertychange.h>
+#include <Qt3DCore/qnoderemovedpropertychange.h>
/*!
* \qmltype Material
@@ -136,6 +138,7 @@ QEffect *QMaterial::effect() const
void QMaterial::addParameter(QParameter *parameter)
{
+ Q_ASSERT(parameter);
Q_D(QMaterial);
if (!d->m_parameters.contains(parameter)) {
d->m_parameters.append(parameter);
@@ -148,9 +151,8 @@ void QMaterial::addParameter(QParameter *parameter)
parameter->setParent(this);
if (d->m_changeArbiter != Q_NULLPTR) {
- QNodePropertyChangePtr change(new QNodePropertyChange(NodeAdded, QSceneChange::Node, id()));
+ const auto change = QNodeAddedPropertyChangePtr::create(id(), parameter->id());
change->setPropertyName("parameter");
- change->setValue(QVariant::fromValue(parameter->id()));
d->notifyObservers(change);
}
}
@@ -158,11 +160,11 @@ void QMaterial::addParameter(QParameter *parameter)
void QMaterial::removeParameter(QParameter *parameter)
{
+ Q_ASSERT(parameter);
Q_D(QMaterial);
if (d->m_changeArbiter != Q_NULLPTR) {
- QNodePropertyChangePtr change(new QNodePropertyChange(NodeRemoved, QSceneChange::Node, id()));
+ const auto change = QNodeRemovedPropertyChangePtr::create(id(), parameter->id());
change->setPropertyName("parameter");
- change->setValue(QVariant::fromValue(parameter->id()));
d->notifyObservers(change);
}
d->m_parameters.removeOne(parameter);