Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source/blender/depsgraph/intern/builder/deg_builder_relations.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
index 51eefd7e31d..1c09417e9ab 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
@@ -2530,8 +2530,13 @@ void DepsgraphRelationBuilder::build_nodetree(bNodeTree *ntree)
* changed. The parent node group is currently explicitly tagged for update in
* #ED_node_tree_propagate_change. In the future we could move this relation to the
* depsgraph, but then the depsgraph has to do some more static analysis of the node tree to
- * see which groups the output actually depends on. */
- add_relation(group_output_key, ntree_output_key, "Group Node", RELATION_FLAG_NO_FLUSH);
+ * see which groups the output actually depends on.
+ *
+ * Furthermore, shader nodes currently depend on relations being created from e.g. objects to
+ * nodes. Geometry nodes do not depend on these relations, because they are explicitly
+ * created by the modifier (which is the thing that actually depends on the objects). */
+ const int relation_flag = (group_ntree->type == NTREE_SHADER) ? 0 : RELATION_FLAG_NO_FLUSH;
+ add_relation(group_output_key, ntree_output_key, "Group Node", relation_flag);
}
else {
BLI_assert_msg(0, "Unknown ID type used for node");