fix [#27953] VSE: weird drawing and placement issues strips during 'E'
authorCampbell Barton <ideasman42@gmail.com>
Fri, 3 Feb 2012 01:06:32 +0000 (01:06 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Fri, 3 Feb 2012 01:06:32 +0000 (01:06 +0000)
was calculating meta / effect in wrong order causing delay, now calculate selected meta's, then all effects after tramsforming.

source/blender/editors/transform/transform_conversions.c

index ced6bb8da636699933321fa9f020444c3cad79cd..86b5ab9421b2cfefcc0114800976202bb1467ad4 100644 (file)
@@ -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);
+                       }
                }
        }