diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-06-27 17:10:37 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-06-27 17:35:06 +0300 |
commit | 08b105654d1f3df1173696f0a212586d99ff5169 (patch) | |
tree | 688f77a1303e03da9941315296e909ac74dc8c41 /source | |
parent | 3766b9385367c2b6d161e2788426c2a7263b19c5 (diff) |
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
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_relations.cc | 5 |
1 files changed, 3 insertions, 2 deletions
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) |