diff options
author | Sean Harmer <sean.harmer@kdab.com> | 2016-04-10 17:41:33 +0100 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2016-04-12 12:49:40 +0000 |
commit | 15b1a1ba41bda22b624d806cadd6873be8403097 (patch) | |
tree | d964440cc6d1951ebb6fd110de7d6513821eb465 /src | |
parent | 330cd191770ba894a67c12e0d1e895e6104c2e4b (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.cpp | 21 |
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) |