[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32763] trunk/blender/source/blender/ editors/space_sequencer/sequencer_edit.c: bugfix [#23155] Metastrip contents area allowed to move vertically, occasionally swapping order or overlapping

Campbell Barton ideasman42 at gmail.com
Fri Oct 29 21:40:45 CEST 2010


Revision: 32763
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32763
Author:   campbellbarton
Date:     2010-10-29 21:40:45 +0200 (Fri, 29 Oct 2010)

Log Message:
-----------
bugfix [#23155] Metastrip contents area allowed to move vertically, occasionally swapping order or overlapping
overlapping tests cant be done recursively

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_sequencer/sequencer_edit.c

Modified: trunk/blender/source/blender/editors/space_sequencer/sequencer_edit.c
===================================================================
--- trunk/blender/source/blender/editors/space_sequencer/sequencer_edit.c	2010-10-29 12:49:36 UTC (rev 32762)
+++ trunk/blender/source/blender/editors/space_sequencer/sequencer_edit.c	2010-10-29 19:40:45 UTC (rev 32763)
@@ -1159,8 +1159,9 @@
 	}
 	SEQ_END
 
-	/* test for effects and overlap */
-	SEQP_BEGIN(ed, seq) {
+	/* test for effects and overlap
+	 * dont use SEQP_BEGIN since that would be recursive */
+	for(seq= ed->seqbasep->first; seq; seq= seq->next) {
 		if(seq->flag & SELECT && !(seq->depth==0 && seq->flag & SEQ_LOCK)) {
 			seq->flag &= ~SEQ_OVERLAP;
 			if( seq_test_overlap(ed->seqbasep, seq) ) {
@@ -1176,7 +1177,6 @@
 				calc_sequence(scene, seq);
 		}
 	}
-	SEQ_END;
 
 	/* as last: */
 	sort_seq(scene);
@@ -2008,16 +2008,16 @@
 
 	recurs_del_seq_flag(scene, ed->seqbasep, SEQ_FLAG_DELETE, 0);
 
-	/* test for effects and overlap */
-	SEQP_BEGIN(ed, seq) {
+	/* test for effects and overlap
+	 * dont use SEQP_BEGIN since that would be recursive */
+	for(seq= ed->seqbasep->first; seq; seq= seq->next) {
 		if(seq->flag & SELECT) {
 			seq->flag &= ~SEQ_OVERLAP;
-			if( seq_test_overlap(ed->seqbasep, seq) ) {
+			if(seq_test_overlap(ed->seqbasep, seq)) {
 				shuffle_seq(ed->seqbasep, seq, scene);
 			}
 		}
 	}
-	SEQ_END;
 
 	sort_seq(scene);
 	seq_update_muting(scene, ed);





More information about the Bf-blender-cvs mailing list