Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSybren A. Stüvel <sybren@blender.org>2020-09-24 16:15:17 +0300
committerSybren A. Stüvel <sybren@blender.org>2020-09-24 16:17:30 +0300
commitf3ac39b857394d804df04d893517ebd1a403de19 (patch)
tree569f1785f696ef2daaeb5d664ff3617c24a06641 /source/blender/editors/space_nla
parent0dfafa8124575f2285154b659a1962cfe0752bad (diff)
Fix T80708: FCurve modifiers change behavior after editing NLA clip
Tag an Action for recalculating animation when it's pushed down onto the NLA stack, as its effective boundaries change. Normally an Action spans all of the timeline, and the effects of Cycle modifiers are visible everywhere. When the Action is converted to an NLA clip, the modifier's effect should only be visible for the duration of the NLA clip.
Diffstat (limited to 'source/blender/editors/space_nla')
-rw-r--r--source/blender/editors/space_nla/nla_channels.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/source/blender/editors/space_nla/nla_channels.c b/source/blender/editors/space_nla/nla_channels.c
index 3cc4c0247aa..f6f3571018a 100644
--- a/source/blender/editors/space_nla/nla_channels.c
+++ b/source/blender/editors/space_nla/nla_channels.c
@@ -518,7 +518,12 @@ static int nlachannels_pushdown_exec(bContext *C, wmOperator *op)
/* 'push-down' action - only usable when not in TweakMode */
BKE_nla_action_pushdown(adt);
- DEG_id_tag_update_ex(CTX_data_main(C), id, ID_RECALC_ANIMATION);
+ struct Main *bmain = CTX_data_main(C);
+ DEG_id_tag_update_ex(bmain, id, ID_RECALC_ANIMATION);
+
+ /* The action needs updating too, as FCurve modifiers are to be reevaluated. They won't extend
+ * beyond the NLA strip after pushing down to the NLA. */
+ DEG_id_tag_update_ex(bmain, &adt->action->id, ID_RECALC_ANIMATION);
/* set notifier that things have changed */
WM_event_add_notifier(C, NC_ANIMATION | ND_NLA_ACTCHANGE, NULL);