diff options
author | Richard Antalik <richardantalik@gmail.com> | 2022-06-14 21:12:03 +0300 |
---|---|---|
committer | Richard Antalik <richardantalik@gmail.com> | 2022-06-14 21:13:45 +0300 |
commit | a59fedb0bf7eb9215eb864a3772d922be4780138 (patch) | |
tree | 74ef847624c2f6d3087f0e5b9651347adaff4aba | |
parent | 6737f89e4916b5add06e412b8192e0007d5de03b (diff) |
Fix T98168: Meta strips do not copy animation to another scene
Copy animation for strips that are inside metas.
-rw-r--r-- | source/blender/editors/space_sequencer/sequencer_edit.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c index 5cf3295268c..86c438c616e 100644 --- a/source/blender/editors/space_sequencer/sequencer_edit.c +++ b/source/blender/editors/space_sequencer/sequencer_edit.c @@ -2389,6 +2389,13 @@ static void sequencer_copy_animation(Scene *scene, Sequence *seq) return; } + /* Add curves for strips inside meta strip. */ + if (seq->type == SEQ_TYPE_META) { + LISTBASE_FOREACH (Sequence *, meta_child, &seq->seqbase) { + sequencer_copy_animation(scene, meta_child); + } + } + GSet *fcurves = SEQ_fcurves_by_strip_get(seq, &scene->adt->action->curves); if (fcurves == NULL) { return; @@ -2398,6 +2405,7 @@ static void sequencer_copy_animation(Scene *scene, Sequence *seq) BLI_addtail(&fcurves_clipboard, BKE_fcurve_copy(fcu)); } GSET_FOREACH_END(); + BLI_gset_free(fcurves, NULL); } |