summaryrefslogtreecommitdiffstats
path: root/src/render/geometry/geometryrenderer.cpp
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2016-06-17 15:07:41 +0200
committerPaul Lemire <paul.lemire@kdab.com>2016-07-04 06:09:50 +0000
commit18f0b45c23adc5bee4c784a8d81c697aeb831c93 (patch)
tree0ed82a149d4e1556f730e899a4776387c3cbb975 /src/render/geometry/geometryrenderer.cpp
parent23c499a0390c1ba3ad33597f86e8915ef4ed94da (diff)
QGeometryRenderer: fix notification of geometry changing
Change-Id: Ic0fc25a9aacf47863d0ac058d3be687415b2cbdd Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/render/geometry/geometryrenderer.cpp')
-rw-r--r--src/render/geometry/geometryrenderer.cpp21
1 files changed, 3 insertions, 18 deletions
diff --git a/src/render/geometry/geometryrenderer.cpp b/src/render/geometry/geometryrenderer.cpp
index 25cf43642..70266ac52 100644
--- a/src/render/geometry/geometryrenderer.cpp
+++ b/src/render/geometry/geometryrenderer.cpp
@@ -164,23 +164,8 @@ void GeometryRenderer::sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e)
m_geometryFactory = newFunctor;
if (m_geometryFactory && m_manager != nullptr)
m_manager->addDirtyGeometryRenderer(peerId());
- }
- break;
- }
-
- case PropertyValueAdded: {
- const auto change = qSharedPointerCast<QPropertyNodeAddedChange>(e);
- if (change->propertyName() == QByteArrayLiteral("geometry")) {
- m_geometryId = change->addedNodeId();
- m_dirty = true;
- }
- break;
- }
-
- case PropertyValueRemoved: {
- const auto change = qSharedPointerCast<QPropertyNodeAddedChange>(e);
- if (change->propertyName() == QByteArrayLiteral("geometry")) {
- m_geometryId = QNodeId();
+ } else if (propertyName == QByteArrayLiteral("geometry")) {
+ m_geometryId = propertyChange->value().value<Qt3DCore::QNodeId>();
m_dirty = true;
}
break;
@@ -210,7 +195,7 @@ void GeometryRenderer::executeFunctor()
geometry->moveToThread(appThread);
auto e = QGeometryChangePtr::create(peerId());
- e->setDeliveryFlags(Qt3DCore::QSceneChange::DeliverToAll);
+ e->setDeliveryFlags(Qt3DCore::QSceneChange::Nodes);
e->setPropertyName("geometry");
e->data = std::move(geometry);
notifyObservers(e);