From e5d4ecd180799d68ace8a9979e417ebdcc1d7ff0 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 17 Jan 2012 16:06:24 +0000 Subject: Fix #29905: extend transform a sequencer meta strip did not update the position and length of the meta strip properly, only its contents. Also overlap check was done too soon giving false positives, should be after meta strip update. --- .../editors/transform/transform_conversions.c | 23 +++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) (limited to 'source') diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index b060c04de4e..712941a6451 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -2300,6 +2300,18 @@ void flushTransSeq(TransInfo *t) seq_prev= seq; } + + if (ELEM(t->mode, TFM_SEQ_SLIDE, TFM_TIME_TRANSLATE)) { /* originally TFM_TIME_EXTEND, transform changes */ + /* Special annoying case here, need to calc metas with TFM_TIME_EXTEND only */ + seq= seqbasep->first; + + while(seq) { + if (seq->type == SEQ_META && seq->flag & SELECT) + calc_sequence(t->scene, seq); + seq= seq->next; + } + } + /* need to do the overlap check in a new loop otherwise adjacent strips * will not be updated and we'll get false positives */ seq_prev= NULL; @@ -2319,17 +2331,6 @@ void flushTransSeq(TransInfo *t) } seq_prev= seq; } - - if (t->mode == TFM_SEQ_SLIDE) { /* originally TFM_TIME_EXTEND, transform changes */ - /* Special annoying case here, need to calc metas with TFM_TIME_EXTEND only */ - seq= seqbasep->first; - - while(seq) { - if (seq->type == SEQ_META && seq->flag & SELECT) - calc_sequence(t->scene, seq); - seq= seq->next; - } - } } /* ********************* UV ****************** */ -- cgit v1.2.3