summaryrefslogtreecommitdiffstats
path: root/src/render/io/scene.cpp
diff options
context:
space:
mode:
authorKevin Ottens <kevin.ottens@kdab.com>2016-05-03 09:00:49 +0200
committerKevin Ottens <kevin.ottens@kdab.com>2016-05-03 08:01:33 +0000
commitab37551ca0c2c21708a2c1ff405c07edb52caadd (patch)
treea371e3b248cfbd99ddafb7fa19bc6ee13b2336e5 /src/render/io/scene.cpp
parent1902c08acb5cb9ac812f923b03555560665d268b (diff)
Make sure this is a NodeUpdated change
Otherwise we did the wrong cast and then read into an invalid object. This happens because we now receive other even types like node creation. Change-Id: I084135a01623bfd7b01637545d5bf6d50059e1da Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/io/scene.cpp')
-rw-r--r--src/render/io/scene.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/render/io/scene.cpp b/src/render/io/scene.cpp
index bd6cbee84..cd0190c2a 100644
--- a/src/render/io/scene.cpp
+++ b/src/render/io/scene.cpp
@@ -80,10 +80,12 @@ void Scene::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change
void Scene::sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e)
{
- QNodePropertyChangePtr propertyChange = qSharedPointerCast<QNodePropertyChange>(e);
- if (propertyChange->propertyName() == QByteArrayLiteral("source")) {
- m_source = propertyChange->value().toUrl();
- m_sceneManager->addSceneData(m_source, peerId());
+ if (e->type() == NodeUpdated) {
+ QNodePropertyChangePtr propertyChange = qSharedPointerCast<QNodePropertyChange>(e);
+ if (propertyChange->propertyName() == QByteArrayLiteral("source")) {
+ m_source = propertyChange->value().toUrl();
+ m_sceneManager->addSceneData(m_source, peerId());
+ }
}
markDirty(AbstractRenderer::AllDirty);
}