summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSean Harmer <sean.harmer@kdab.com>2016-04-10 17:41:33 +0100
committerPaul Lemire <paul.lemire@kdab.com>2016-04-12 12:49:40 +0000
commit15b1a1ba41bda22b624d806cadd6873be8403097 (patch)
treed964440cc6d1951ebb6fd110de7d6513821eb465 /src
parent330cd191770ba894a67c12e0d1e895e6104c2e4b (diff)
Protect against bad case in FilterKey
Change-Id: I0dcbe1a8d805d027f1322fcab160b1df737d72d5 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src')
-rw-r--r--src/render/materialsystem/filterkey.cpp21
1 files changed, 14 insertions, 7 deletions
diff --git a/src/render/materialsystem/filterkey.cpp b/src/render/materialsystem/filterkey.cpp
index 768fe2bdc..3f3b819b6 100644
--- a/src/render/materialsystem/filterkey.cpp
+++ b/src/render/materialsystem/filterkey.cpp
@@ -90,13 +90,20 @@ QString FilterKey::criterionName() const
void FilterKey::sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e)
{
- QScenePropertyChangePtr propertyChange = qSharedPointerCast<QScenePropertyChange>(e);
- if (propertyChange->propertyName() == QByteArrayLiteral("value"))
- m_value = propertyChange->value();
- else if (propertyChange->propertyName() == QByteArrayLiteral("name"))
- m_name = propertyChange->value().toString();
-
- markDirty(AbstractRenderer::AllDirty);
+ switch (e->type()) {
+ case NodeUpdated: {
+ QScenePropertyChangePtr propertyChange = qSharedPointerCast<QScenePropertyChange>(e);
+ if (propertyChange->propertyName() == QByteArrayLiteral("value"))
+ m_value = propertyChange->value();
+ else if (propertyChange->propertyName() == QByteArrayLiteral("name"))
+ m_name = propertyChange->value().toString();
+
+ markDirty(AbstractRenderer::AllDirty);
+ }
+
+ default:
+ break;
+ }
}
bool FilterKey::operator ==(const FilterKey &other)