diff options
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/space_action/CMakeLists.txt | 1 | ||||
-rw-r--r-- | source/blender/editors/space_action/action_data.c | 9 |
2 files changed, 10 insertions, 0 deletions
diff --git a/source/blender/editors/space_action/CMakeLists.txt b/source/blender/editors/space_action/CMakeLists.txt index 9e292062f27..841bd5cf91b 100644 --- a/source/blender/editors/space_action/CMakeLists.txt +++ b/source/blender/editors/space_action/CMakeLists.txt @@ -5,6 +5,7 @@ set(INC ../../blenkernel ../../blenlib ../../blentranslation + ../../depsgraph ../../gpu ../../makesdna ../../makesrna diff --git a/source/blender/editors/space_action/action_data.c b/source/blender/editors/space_action/action_data.c index 36858d57446..8f97a58451e 100644 --- a/source/blender/editors/space_action/action_data.c +++ b/source/blender/editors/space_action/action_data.c @@ -45,6 +45,8 @@ #include "ED_mask.h" #include "ED_screen.h" +#include "DEG_depsgraph.h" + #include "WM_api.h" #include "WM_types.h" @@ -335,6 +337,13 @@ static int action_pushdown_exec(bContext *C, wmOperator *op) /* action can be safely added */ BKE_nla_action_pushdown(adt, ID_IS_OVERRIDE_LIBRARY(adt_id_owner)); + struct Main *bmain = CTX_data_main(C); + DEG_id_tag_update_ex(bmain, adt_id_owner, 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); + /* Stop displaying this action in this editor * NOTE: The editor itself doesn't set a user... */ |