diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2012-08-24 20:09:48 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2012-08-24 20:09:48 +0400 |
commit | 2536362f7955be7e86c9ed660a7b240060b1984d (patch) | |
tree | 901f98d23e008772e43e6b7d2063856d05cab305 /source/blender/editors/transform | |
parent | b5e90d6b1c8dd65adaaae62f3facc8f532e06f40 (diff) |
Sequencer: reshuffle overlapping strips on cancel trasnform
It was possible to create overlapped strips by duplicating and
cancelling transform, now it sohuld be handled properly.
Diffstat (limited to 'source/blender/editors/transform')
-rw-r--r-- | source/blender/editors/transform/transform_conversions.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index 120394aa7c1..8eba8ebea41 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -4209,7 +4209,7 @@ static void freeSeqData(TransInfo *t) for (a = 0; a < t->total; a++, td++) { if ((seq != seq_prev) && (seq->depth == 0) && (seq->flag & SEQ_OVERLAP)) { seq = ((TransDataSeq *)td->extra)->seq; - shuffle_seq(seqbasep, seq); + BKE_sequence_base_shuffle(seqbasep, seq, t->scene); } seq_prev = seq; @@ -4244,7 +4244,7 @@ static void freeSeqData(TransInfo *t) has_effect = TRUE; } else { - /* Tag seq with a non zero value, used by shuffle_seq_time to identify the ones to shuffle */ + /* Tag seq with a non zero value, used by BKE_sequence_base_shuffle_time to identify the ones to shuffle */ seq->tmp = (void *)1; } } @@ -4289,7 +4289,7 @@ static void freeSeqData(TransInfo *t) BKE_sequence_base_shuffle_time(seqbasep, t->scene); } #else - shuffle_seq_time(seqbasep, t->scene); + BKE_sequence_base_shuffle_time(seqbasep, t->scene); #endif if (has_effect) { @@ -4340,6 +4340,9 @@ static void freeSeqData(TransInfo *t) for (a = 0; a < t->total; a++, td++) { seq = ((TransDataSeq *)td->extra)->seq; if ((seq != seq_prev) && (seq->depth == 0)) { + if (seq->flag & SEQ_OVERLAP) + BKE_sequence_base_shuffle(seqbasep, seq, t->scene); + BKE_sequence_calc_disp(t->scene, seq); } seq_prev = seq; |