From 6130524d8c05cb2468266f2e6fc5374d40cec6e1 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Fri, 24 Nov 2017 16:44:54 +0100 Subject: Revert "Depsgraph: Remove legacy re-scheduling code" This reverts commit 90ff88646d4312823df0610168391ab5ad80675a. Can not do this yet, if object is not part of graph yet it will not have entry taq. Need some more generic solution here. --- source/blender/depsgraph/intern/builder/deg_builder.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'source') 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. */ -- cgit v1.2.3