diff options
author | Richard Antalik <richardantalik@gmail.com> | 2022-06-14 17:32:52 +0300 |
---|---|---|
committer | Richard Antalik <richardantalik@gmail.com> | 2022-06-14 18:04:19 +0300 |
commit | 06780aa4e6e04b10e1bf6be6850d6ad02f0c80af (patch) | |
tree | 301ab1533b2fb58c3a0ba1cb2ec3633347d198a7 | |
parent | 25f18e6c4905d500e799f8cb8657bc83d61a864a (diff) |
Fix T98797: VSE Slip Strip Contents doesn't work properly
Caused by oversight in 7afcfe111aac - code relied on fact, that strip
boundary holds old value until updated.
Calculate new offsets based on stored orignal offsets.
-rw-r--r-- | source/blender/editors/space_sequencer/sequencer_edit.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c index 75966d4f070..5cf3295268c 100644 --- a/source/blender/editors/space_sequencer/sequencer_edit.c +++ b/source/blender/editors/space_sequencer/sequencer_edit.c @@ -581,21 +581,13 @@ static int sequencer_slip_invoke(bContext *C, wmOperator *op, const wmEvent *eve static void sequencer_slip_recursively(Scene *scene, SlipData *data, int offset) { - /* Iterate in reverse so meta-strips are iterated after their children. */ for (int i = data->num_seq - 1; i >= 0; i--) { Sequence *seq = data->seq_array[i]; - int endframe; - /* Offset seq start. */ seq->start = data->ts[i].start + offset; - if (data->trim[i]) { - /* Find the end-frame. */ - endframe = seq->start + seq->len; - - /* Compute the sequence offsets. */ - seq->endofs = endframe - SEQ_time_right_handle_frame_get(seq); - seq->startofs = SEQ_time_left_handle_frame_get(seq) - seq->start; + seq->startofs = data->ts[i].startofs - offset; + seq->endofs = data->ts[i].endofs + offset; } } |