[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [58038] trunk/blender/source/blender/ editors/space_sequencer/sequencer_edit.c: fix [#36027] Close gap shifts clip leaves keyframes behind

Campbell Barton ideasman42 at gmail.com
Sat Jul 6 09:21:08 CEST 2013


Revision: 58038
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=58038
Author:   campbellbarton
Date:     2013-07-06 07:21:08 +0000 (Sat, 06 Jul 2013)
Log Message:
-----------
fix [#36027] Close gap shifts clip leaves keyframes behind

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	2013-07-06 06:51:37 UTC (rev 58037)
+++ trunk/blender/source/blender/editors/space_sequencer/sequencer_edit.c	2013-07-06 07:21:08 UTC (rev 58038)
@@ -866,7 +866,7 @@
 	return (seq_first_new != NULL);
 }
 
-static bool insert_gap(Scene *scene, int gap, int cfra)
+static bool sequence_offset_after_frame(Scene *scene, const int delta, const int cfra)
 {
 	Sequence *seq;
 	Editing *ed = BKE_sequencer_editing_get(scene, FALSE);
@@ -876,15 +876,13 @@
 	
 	if (ed == NULL) return 0;
 
-	SEQP_BEGIN (ed, seq)
-	{
+	for (seq = ed->seqbasep->first; seq; seq = seq->next) {
 		if (seq->startdisp >= cfra) {
-			seq->start += gap;
+			BKE_sequence_translate(scene, seq, delta);
 			BKE_sequence_calc(scene, seq);
 			done = true;
 		}
 	}
-	SEQ_END
 
 	return done;
 }
@@ -1017,7 +1015,7 @@
 		else if (BKE_sequencer_evaluate_frame(scene, cfra) == 0) {
 			done = true;
 			while (BKE_sequencer_evaluate_frame(scene, cfra) == 0) {
-				done = insert_gap(scene, -1, cfra);
+				done = sequence_offset_after_frame(scene, -1, cfra);
 				if (done == false) break;
 			}
 			if (done == false || do_all == false) break;
@@ -1054,7 +1052,7 @@
 	Scene *scene = CTX_data_scene(C);
 	int frames = RNA_int_get(op->ptr, "frames");
 	
-	insert_gap(scene, frames, CFRA);
+	sequence_offset_after_frame(scene, frames, CFRA);
 	
 	WM_event_add_notifier(C, NC_SCENE | ND_SEQUENCER, scene);
 	




More information about the Bf-blender-cvs mailing list