summaryrefslogtreecommitdiffstats
path: root/src/render/materialsystem/qeffect.cpp
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2020-02-10 07:59:56 +0100
committerPaul Lemire <paul.lemire@kdab.com>2020-02-10 10:44:52 +0100
commit547b0b00244f1535eab4456a02b75b46776eae51 (patch)
tree899a4c4f5e2c0cdc1d8de6613c431c25b09f8424 /src/render/materialsystem/qeffect.cpp
parent648b7459e8a6ce8ce1f115a14da63d546b743439 (diff)
Check we remove a valid node when removing from node properties
Change-Id: Ibcc4d9bfd9d0a9d7697151915f24a6eecc149f6d Reviewed-by: Mike Krus <mike.krus@kdab.com>
Diffstat (limited to 'src/render/materialsystem/qeffect.cpp')
-rw-r--r--src/render/materialsystem/qeffect.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/render/materialsystem/qeffect.cpp b/src/render/materialsystem/qeffect.cpp
index 8637a92d4..9f4b3db94 100644
--- a/src/render/materialsystem/qeffect.cpp
+++ b/src/render/materialsystem/qeffect.cpp
@@ -203,7 +203,8 @@ void QEffect::removeParameter(QParameter *parameter)
{
Q_D(QEffect);
- d->m_parameters.removeOne(parameter);
+ if (!d->m_parameters.removeOne(parameter))
+ return;
// Remove bookkeeping connection
d->unregisterDestructionHelper(parameter);
d->updateNode(parameter, "parameter", Qt3DCore::PropertyValueRemoved);
@@ -248,9 +249,9 @@ void QEffect::addTechnique(QTechnique *t)
void QEffect::removeTechnique(QTechnique *t)
{
Q_D(QEffect);
- if (t)
- d->updateNode(t, "technique", Qt3DCore::PropertyValueRemoved);
- d->m_techniques.removeOne(t);
+ if (!d->m_techniques.removeOne(t))
+ return;
+ d->updateNode(t, "technique", Qt3DCore::PropertyValueRemoved);
// Remove bookkeeping connection
d->unregisterDestructionHelper(t);
}