[Bf-blender-cvs] [224d17f] depsgraph_refactor: Depsgraph: Fix some node trees being wrongly skipped from building
Sergey Sharybin
noreply at git.blender.org
Mon Mar 23 14:41:09 CET 2015
Commit: 224d17f6a65a1ed47723d1bb4b00b796f3a1adcc
Author: Sergey Sharybin
Date: Mon Mar 23 18:40:00 2015 +0500
Branches: depsgraph_refactor
https://developer.blender.org/rB224d17f6a65a1ed47723d1bb4b00b796f3a1adcc
Depsgraph: Fix some node trees being wrongly skipped from building
This is because not all node trees are in bmain actually.
===================================================================
M source/blender/depsgraph/intern/depsgraph_build_nodes.cpp
M source/blender/depsgraph/intern/depsgraph_build_relations.cpp
===================================================================
diff --git a/source/blender/depsgraph/intern/depsgraph_build_nodes.cpp b/source/blender/depsgraph/intern/depsgraph_build_nodes.cpp
index 2d4c50a..796397b 100644
--- a/source/blender/depsgraph/intern/depsgraph_build_nodes.cpp
+++ b/source/blender/depsgraph/intern/depsgraph_build_nodes.cpp
@@ -1052,9 +1052,6 @@ void DepsgraphNodeBuilder::build_nodetree(DepsNode *owner_node, bNodeTree *ntree
/* nodetree itself */
ID *ntree_id = &ntree->id;
- if (ntree_id->flag & LIB_DOIT) {
- return;
- }
build_animdata(ntree_id);
@@ -1072,7 +1069,10 @@ void DepsgraphNodeBuilder::build_nodetree(DepsNode *owner_node, bNodeTree *ntree
build_texture(owner_node, (Tex *)bnode->id);
}
else if (bnode->type == NODE_GROUP) {
- build_nodetree(owner_node, (bNodeTree *)bnode->id);
+ bNodeTree *ntree = (bNodeTree *)bnode->id;
+ if ((ntree_id->flag & LIB_DOIT) == 0) {
+ build_nodetree(owner_node, ntree);
+ }
}
}
}
diff --git a/source/blender/depsgraph/intern/depsgraph_build_relations.cpp b/source/blender/depsgraph/intern/depsgraph_build_relations.cpp
index 56ca11d..3f6af4c 100644
--- a/source/blender/depsgraph/intern/depsgraph_build_relations.cpp
+++ b/source/blender/depsgraph/intern/depsgraph_build_relations.cpp
@@ -1686,10 +1686,6 @@ void DepsgraphRelationBuilder::build_nodetree(ID *owner, bNodeTree *ntree)
return;
ID *ntree_id = &ntree->id;
- if (ntree_id->flag & LIB_DOIT) {
- return;
- }
- ntree_id->flag |= LIB_DOIT;
build_animdata(ntree_id);
@@ -1703,7 +1699,11 @@ void DepsgraphRelationBuilder::build_nodetree(ID *owner, bNodeTree *ntree)
build_texture(owner, (Tex *)bnode->id);
}
else if (bnode->type == NODE_GROUP) {
- build_nodetree(owner, (bNodeTree *)bnode->id);
+ bNodeTree *ntree = (bNodeTree *)bnode->id;
+ if ((ntree_id->flag & LIB_DOIT) == 0) {
+ build_nodetree(owner, ntree);
+ ntree_id->flag |= LIB_DOIT;
+ }
}
}
}
More information about the Bf-blender-cvs
mailing list