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:
Diffstat (limited to 'source/blender/depsgraph/intern/builder/deg_builder.cc')
-rw-r--r--source/blender/depsgraph/intern/builder/deg_builder.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder.cc b/source/blender/depsgraph/intern/builder/deg_builder.cc
index 9945ff3a224..d6a054f2ee9 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder.cc
@@ -50,7 +50,17 @@ void deg_graph_build_finalize(Main *bmain, Depsgraph *graph)
* update tag.
*/
foreach (IDDepsNode *id_node, graph->id_nodes) {
+ ID *id = id_node->id_orig;
id_node->finalize_build(graph);
+ if ((id->tag & LIB_TAG_ID_RECALC_ALL)) {
+ id_node->tag_update(graph);
+ }
+ else if (GS(id->name) == ID_OB) {
+ Object *object = (Object *)id;
+ if (object->recalc & OB_RECALC_ALL) {
+ id_node->tag_update(graph);
+ }
+ }
/* TODO(sergey): This is not ideal at all, since this forces
* re-evaluaiton of the whole tree.
*/