summaryrefslogtreecommitdiffstats
path: root/src/render/framegraph/framegraphnode.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/render/framegraph/framegraphnode.cpp')
-rw-r--r--src/render/framegraph/framegraphnode.cpp19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/render/framegraph/framegraphnode.cpp b/src/render/framegraph/framegraphnode.cpp
index f2ce1a50a..562548e46 100644
--- a/src/render/framegraph/framegraphnode.cpp
+++ b/src/render/framegraph/framegraphnode.cpp
@@ -157,23 +157,32 @@ void FrameGraphNode::sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e)
case Qt3DCore::PropertyValueAdded: {
Qt3DCore::QPropertyNodeAddedChangePtr change = qSharedPointerCast<Qt3DCore::QPropertyNodeAddedChange>(e);
- if (change->metaObject()->inherits(&QFrameGraphNode::staticMetaObject))
+ if (change->metaObject()->inherits(&QFrameGraphNode::staticMetaObject)) {
appendChildId(change->addedNodeId());
+ markDirty(AbstractRenderer::FrameGraphDirty);
+ }
break;
}
case Qt3DCore::PropertyValueRemoved: {
Qt3DCore::QPropertyNodeRemovedChangePtr change = qSharedPointerCast<Qt3DCore::QPropertyNodeRemovedChange>(e);
- if (change->metaObject()->inherits(&QFrameGraphNode::staticMetaObject))
+ if (change->metaObject()->inherits(&QFrameGraphNode::staticMetaObject)) {
removeChildId(change->removedNodeId());
+ markDirty(AbstractRenderer::FrameGraphDirty);
+ }
+ break;
+ }
+ case Qt3DCore::PropertyUpdated: {
+ Qt3DCore::QPropertyUpdatedChangePtr propertyChange = qSharedPointerCast<Qt3DCore::QPropertyUpdatedChange>(e);
+ if (propertyChange->propertyName() == QByteArrayLiteral("enabled")) {
+ d_func()->m_enabled = propertyChange->value().toBool();
+ markDirty(AbstractRenderer::FrameGraphDirty);
+ }
break;
}
default:
break;
}
-
- markDirty(AbstractRenderer::AllDirty);
- BackendNode::sceneChangeEvent(e);
}
} // namespace Render