diff options
author | Kevin Ottens <kevin.ottens@kdab.com> | 2016-05-03 09:00:49 +0200 |
---|---|---|
committer | Kevin Ottens <kevin.ottens@kdab.com> | 2016-05-03 08:01:33 +0000 |
commit | ab37551ca0c2c21708a2c1ff405c07edb52caadd (patch) | |
tree | a371e3b248cfbd99ddafb7fa19bc6ee13b2336e5 /src/render/io | |
parent | 1902c08acb5cb9ac812f923b03555560665d268b (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')
-rw-r--r-- | src/render/io/scene.cpp | 10 |
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); } |