[Bf-blender-cvs] [08b105654d1] blender2.8: Depsgraph: Move time dependency to animation of action

Sergey Sharybin noreply at git.blender.org
Wed Jun 27 16:35:16 CEST 2018


Commit: 08b105654d1f3df1173696f0a212586d99ff5169
Author: Sergey Sharybin
Date:   Wed Jun 27 16:10:37 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB08b105654d1f3df1173696f0a212586d99ff5169

Depsgraph: Move time dependency to animation of action

This way we guarantee that animation component on the datablock will
totally wait for action to be fully evaluated before attempting to
evaluate f-curves.

Fixes T55642: Inconsistent result on animated DoF file

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

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

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

diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
index 252f9a60a0e..fff83108ea1 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
@@ -1040,8 +1040,6 @@ void DepsgraphRelationBuilder::build_animdata_curves(ID *id)
 	}
 	/* Wire up dependency to time source. */
 	ComponentKey adt_key(id, DEG_NODE_TYPE_ANIMATION);
-	TimeSourceKey time_src_key;
-	add_relation(time_src_key, adt_key, "TimeSrc -> Animation");
 	/* Relation from action itself. */
 	if (adt->action != NULL) {
 		ComponentKey action_key(&adt->action->id, DEG_NODE_TYPE_ANIMATION);
@@ -1210,6 +1208,9 @@ void DepsgraphRelationBuilder::build_action(bAction *action)
 	if (built_map_.checkIsBuiltAndTag(action)) {
 		return;
 	}
+	TimeSourceKey time_src_key;
+	ComponentKey animation_key(&action->id, DEG_NODE_TYPE_ANIMATION);
+	add_relation(time_src_key, animation_key, "TimeSrc -> Animation");
 }
 
 void DepsgraphRelationBuilder::build_driver(ID *id, FCurve *fcu)



More information about the Bf-blender-cvs mailing list