diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-02-03 05:06:32 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-02-03 05:06:32 +0400 |
commit | 050963b6a9529e0abdd597d163ddc4343c0b15c2 (patch) | |
tree | 336496eb8b1e59bc6ec2f9cd6a632f4938c0422b /source | |
parent | 07919930300e6055c5452ec2b54150e70babd5fe (diff) |
fix [#27953] VSE: weird drawing and placement issues strips during 'E'
was calculating meta / effect in wrong order causing delay, now calculate selected meta's, then all effects after tramsforming.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/transform/transform_conversions.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index ced6bb8da63..86b5ab9421b 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -2303,12 +2303,17 @@ void flushTransSeq(TransInfo *t) 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 all meta's then effects [#27953] */ + for (seq = seqbasep->first; seq; seq = seq->next) { + if (seq->type == SEQ_META && seq->flag & SELECT) { calc_sequence(t->scene, seq); - seq= seq->next; + } + } + for (seq = seqbasep->first; seq; seq = seq->next) { + if (seq->seq1 || seq->seq2 || seq->seq3) { + calc_sequence(t->scene, seq); + } } } |