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
path: root/source
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2017-11-24 18:44:54 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2017-11-24 18:44:54 +0300
commit6130524d8c05cb2468266f2e6fc5374d40cec6e1 (patch)
tree603a5697e9a765941ead5822e47f75e929426cd1 /source
parentd211c36c836a929d9ac6feb693fbab2e1599fa00 (diff)
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.
Diffstat (limited to 'source')
-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.
*/