summaryrefslogtreecommitdiffstats
path: root/src/render/materialsystem/effect.cpp
diff options
context:
space:
mode:
authorSean Harmer <sean.harmer@kdab.com>2016-04-15 13:54:33 +0100
committerSean Harmer <sean.harmer@kdab.com>2016-04-17 12:26:06 +0000
commit042c380b5885d15925bf66400ebeaa1dc0e7dda0 (patch)
tree4c5718a1877bf4625932ae01d6bc816e7a6a046b /src/render/materialsystem/effect.cpp
parent957114bd4d8fa17dfedd1317be01842128f9bbdc (diff)
Effect: Protect against wrong cast
Change-Id: I0a664ab1a1f2fb324da6b32816511813a79b18fc Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/materialsystem/effect.cpp')
-rw-r--r--src/render/materialsystem/effect.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/render/materialsystem/effect.cpp b/src/render/materialsystem/effect.cpp
index 66a93132a..f8cdfa87a 100644
--- a/src/render/materialsystem/effect.cpp
+++ b/src/render/materialsystem/effect.cpp
@@ -93,23 +93,26 @@ void Effect::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &chang
void Effect::sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e)
{
- QScenePropertyChangePtr propertyChange = qSharedPointerCast<QScenePropertyChange>(e);
- QVariant propertyValue = propertyChange->value();
switch (e->type()) {
-
- case NodeAdded:
+ case NodeAdded: {
+ QScenePropertyChangePtr propertyChange = qSharedPointerCast<QScenePropertyChange>(e);
+ QVariant propertyValue = propertyChange->value();
if (propertyChange->propertyName() == QByteArrayLiteral("technique"))
appendRenderTechnique(propertyValue.value<QNodeId>());
else if (propertyChange->propertyName() == QByteArrayLiteral("parameter"))
m_parameterPack.appendParameter(propertyValue.value<QNodeId>());
break;
+ }
- case NodeRemoved:
+ case NodeRemoved: {
+ QScenePropertyChangePtr propertyChange = qSharedPointerCast<QScenePropertyChange>(e);
+ QVariant propertyValue = propertyChange->value();
if (propertyChange->propertyName() == QByteArrayLiteral("technique"))
m_techniques.removeOne(propertyValue.value<QNodeId>());
else if (propertyChange->propertyName() == QByteArrayLiteral("parameter"))
m_parameterPack.removeParameter(propertyValue.value<QNodeId>());
break;
+ }
default :
break;