[Bf-blender-cvs] [6130524d8c0] blender2.8: Revert "Depsgraph: Remove legacy re-scheduling code"

Sergey Sharybin noreply at git.blender.org
Fri Nov 24 17:10:37 CET 2017


Commit: 6130524d8c05cb2468266f2e6fc5374d40cec6e1
Author: Sergey Sharybin
Date:   Fri Nov 24 16:44:54 2017 +0100
Branches: blender2.8
https://developer.blender.org/rB6130524d8c05cb2468266f2e6fc5374d40cec6e1

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.

===================================================================

M	source/blender/depsgraph/intern/builder/deg_builder.cc

===================================================================

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.
 		 */



More information about the Bf-blender-cvs mailing list