Fix T55409: Can't animated keyframed material node value after moving keyframe on timeline

Completely ignore animation for legacy zero update tag.

If one needs animation to be evaluated, tag with proper update tag, stop relying
on direct assignment of adt->>recalc with zero update tag for DEG.

This commit might cause missing updates when needed, those needs to be looked
into once they happen.
This commit is contained in:
Sergey Sharybin 2018-06-08 17:23:23 +02:00
parent 8204261ede
commit 39e050af40

@ -449,17 +449,7 @@ void deg_graph_node_tag_zero(Main *bmain, Depsgraph *graph, IDDepsNode *id_node)
GHASH_FOREACH_BEGIN(ComponentDepsNode *, comp_node, id_node->components)
{
if (comp_node->type == DEG_NODE_TYPE_ANIMATION) {
AnimData *adt = BKE_animdata_from_id(id);
/* NOTE: Animation data might be null if relations are tagged
* for update.
*/
if (adt == NULL || (adt->recalc & ADT_RECALC_ANIM) == 0) {
/* If there is no animation, or animation is not tagged for
* update yet, we don't force animation channel to be evaluated.
*/
continue;
}
id->recalc |= ID_RECALC_ANIMATION;
continue;
}
comp_node->tag_update(graph);
}