[Bf-committers] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19436] branches/blender2.5/blender/source /blender/editors/transform: Remove exception for sequencer in after_trans by rewriting the update code .

Campbell Barton ideasman42 at gmail.com
Sat Mar 28 22:10:18 CET 2009


This modification isn't right because it ends up moving around strips
that are not being transformed in the first place.
Could the data freeing just be moved so its always after
special_aftertrans_update?

On Sat, Mar 28, 2009 at 9:45 AM, Martin Poirier <theeth at yahoo.com> wrote:
> Revision: 19436
>          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19436
> Author:   theeth
> Date:     2009-03-28 17:45:22 +0100 (Sat, 28 Mar 2009)
>
> Log Message:
> -----------
> Remove exception for sequencer in after_trans by rewriting the update code. Please don't start adding exceptions like that in transform without asking first.
>
> Modified Paths:
> --------------
>    branches/blender2.5/blender/source/blender/editors/transform/transform_conversions.c
>    branches/blender2.5/blender/source/blender/editors/transform/transform_generics.c
>
> Modified: branches/blender2.5/blender/source/blender/editors/transform/transform_conversions.c
> ===================================================================
> --- branches/blender2.5/blender/source/blender/editors/transform/transform_conversions.c        2009-03-28 16:25:33 UTC (rev 19435)
> +++ branches/blender2.5/blender/source/blender/editors/transform/transform_conversions.c        2009-03-28 16:45:22 UTC (rev 19436)
> @@ -4384,34 +4384,21 @@
>                Editing *ed= seq_give_editing(t->scene, FALSE);
>                if (ed && !cancelled) {
>                        ListBase *seqbasep= ed->seqbasep;
> -                       int a;
> -                       TransData *td= t->data;
> -                       TransDataSeq *tdsq= NULL;
> +                       int machine, max_machine = 0;
>                        Sequence *seq;
>
> +                       /* update in order so we always move bottom strips first */
> +                       for(seq= seqbasep->first; seq; seq= seq->next) {
> +                               max_machine = MAX2(max_machine, seq->machine);
> +                       }
>
> -
> -                       /* prevent updating the same seq twice
> -                        * if the transdata order is changed this will mess up
> -                        * but so will TransDataSeq */
> -                       Sequence *seq_prev= NULL;
> -
> -                       /* flush to 2d vector from internally used 3d vector */
> -                       for(a=0; a<t->total; a++, td++) {
> -
> -                               tdsq= (TransDataSeq *)td->extra;
> -                               seq= tdsq->seq;
> -
> -                               if (seq != seq_prev) {
> -                                       if(seq->depth==0) {
> -                                               if (seq->flag & SEQ_OVERLAP) {
> -                                                       shuffle_seq(seqbasep, seq);
> -                                               }
> +                       for (machine = 0; machine <= max_machine; machine++)
> +                       {
> +                               for(seq= seqbasep->first; seq; seq= seq->next) {
> +                                       if (seq->machine == machine && seq->depth==0 && seq->flag & SEQ_OVERLAP) {
> +                                               shuffle_seq(seqbasep, seq);
>                                        }
>                                }
> -
> -                               /* as last: */
> -                               seq_prev= seq;
>                        }
>
>                        for(seq= seqbasep->first; seq; seq= seq->next) {
>
> Modified: branches/blender2.5/blender/source/blender/editors/transform/transform_generics.c
> ===================================================================
> --- branches/blender2.5/blender/source/blender/editors/transform/transform_generics.c   2009-03-28 16:25:33 UTC (rev 19435)
> +++ branches/blender2.5/blender/source/blender/editors/transform/transform_generics.c   2009-03-28 16:45:22 UTC (rev 19436)
> @@ -841,7 +841,7 @@
>        }
>
>        /* postTrans can be called when nothing is selected, so data is NULL already */
> -       if (t->data && (t->spacetype != SPACE_SEQ)) { // XXX SEQ Exception is needed because of special_aftertrans_update using t->data
> +       if (t->data) {
>                int a;
>
>                /* since ipokeys are optional on objects, we mallocced them per trans-data */
>
>
> _______________________________________________
> Bf-blender-cvs mailing list
> Bf-blender-cvs at blender.org
> http://lists.blender.org/mailman/listinfo/bf-blender-cvs
>



-- 
- Campbell


More information about the Bf-committers mailing list