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:
authorRichard Antalik <ISS>2020-04-12 23:09:46 +0300
committerRichard Antalik <richardantalik@gmail.com>2020-04-12 23:10:13 +0300
commit77ca5ab6b02bbccc97d13c50d4174afe9471725a (patch)
treed750e8cab574fcf3bf6934b378fdf061d3a489a5 /source/blender/editors/space_sequencer/sequencer_edit.c
parent5b79e0b80e49c1f75736a8b0bdeb8560a934b072 (diff)
Fix T74897: VSE animation doesn't work
`seq_free_animdata()` removes fcurve pointers belonging to strips from `Scene` CoW datablock's `AnimData` during `BKE_scene_graph_update_for_newframe`. This causes problems with updating animation. This worked before rBbe2e41c397ba, because `AnimData` was freed by `BKE_animdata_free()` before `seq_free_animdata()` was executed, so it had no data to operate on and returned on precondition `if (scene->adt == NULL || scene->adt->action == NULL)` Reviewed By: mont29, brecht Maniphest Tasks: T74897 Differential Revision: https://developer.blender.org/D7264
Diffstat (limited to 'source/blender/editors/space_sequencer/sequencer_edit.c')
-rw-r--r--source/blender/editors/space_sequencer/sequencer_edit.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c
index d34eed622d4..0175260a95c 100644
--- a/source/blender/editors/space_sequencer/sequencer_edit.c
+++ b/source/blender/editors/space_sequencer/sequencer_edit.c
@@ -720,7 +720,7 @@ static void recurs_del_seq_flag(Scene *scene, ListBase *lb, short flag, short de
if (seq->type == SEQ_TYPE_META) {
recurs_del_seq_flag(scene, &seq->seqbase, flag, 1);
}
- BKE_sequence_free(scene, seq);
+ BKE_sequence_free(scene, seq, true);
}
seq = seqn;
}
@@ -2641,7 +2641,7 @@ static int sequencer_separate_images_exec(bContext *C, wmOperator *op)
}
seq_next = seq->next;
- BKE_sequence_free(scene, seq);
+ BKE_sequence_free(scene, seq, true);
seq = seq_next;
}
else {
@@ -2866,7 +2866,7 @@ static int sequencer_meta_separate_exec(bContext *C, wmOperator *UNUSED(op))
BLI_listbase_clear(&last_seq->seqbase);
BLI_remlink(ed->seqbasep, last_seq);
- BKE_sequence_free(scene, last_seq);
+ BKE_sequence_free(scene, last_seq, true);
/* Empty meta strip, delete all effects depending on it. */
for (seq = ed->seqbasep->first; seq; seq = seq->next) {