Depsgraph: Fix redundant nodes built when animation shares same action

This commit is contained in:
Sergey Sharybin 2018-05-11 15:49:04 +02:00
parent 2f0aca4596
commit 66b3f0b4d0
2 changed files with 6 additions and 2 deletions

@ -682,7 +682,9 @@ void DepsgraphNodeBuilder::build_animdata(ID *id)
(void) add_id_node(id);
ID *id_cow = get_cow_id(id);
if (adt->action != NULL) {
if (adt->action != NULL &&
!built_map_.checkIsBuiltAndTag(&adt->action->id))
{
add_operation_node(&adt->action->id, DEG_NODE_TYPE_ANIMATION,
NULL,
DEG_OPCODE_ANIMATION);

@ -948,7 +948,9 @@ void DepsgraphRelationBuilder::build_animdata_curves(ID *id)
TimeSourceKey time_src_key;
add_relation(time_src_key, adt_key, "TimeSrc -> Animation");
/* Relation from action itself. */
if (adt->action != NULL) {
if (adt->action != NULL &&
!built_map_.checkIsBuiltAndTag(&adt->action->id))
{
ComponentKey action_key(&adt->action->id, DEG_NODE_TYPE_ANIMATION);
add_relation(action_key, adt_key, "Action -> Animation");
}