[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [54619] trunk/blender/source/blender/ editors/space_sequencer/sequencer_edit.c: == Sequencer ==
Peter Schlaile
peter at schlaile.de
Sun Feb 17 23:13:01 CET 2013
Revision: 54619
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=54619
Author: schlaile
Date: 2013-02-17 22:13:00 +0000 (Sun, 17 Feb 2013)
Log Message:
-----------
== Sequencer ==
Made my last fix a little bit faster and more elegant by not playing around
with seq->tmp (only reseting it to NULL, like the old code).
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-02-17 21:44:13 UTC (rev 54618)
+++ trunk/blender/source/blender/editors/space_sequencer/sequencer_edit.c 2013-02-17 22:13:00 UTC (rev 54619)
@@ -827,18 +827,14 @@
static int cut_seq_list(Scene *scene, ListBase *slist, int cutframe,
Sequence * (*cut_seq)(Scene *, Sequence *, int))
{
- int did_something = FALSE;
Sequence *seq, *seq_next_iter;
+ Sequence *seq_first_new = NULL;
- for (seq = slist->first; seq; seq = seq->next) {
- seq->tmp = NULL;
- }
-
seq = slist->first;
- while (seq && !seq->tmp) {
+ while (seq && seq != seq_first_new) {
seq_next_iter = seq->next; /* we need this because we may remove seq */
- /* only handle strips not marked as new */
+ seq->tmp = NULL;
if (seq->flag & SELECT) {
if (cutframe > seq->startdisp &&
cutframe < seq->enddisp)
@@ -846,28 +842,24 @@
Sequence *seqn = cut_seq(scene, seq, cutframe);
if (seqn) {
BLI_addtail(slist, seqn);
- seqn->tmp = seq; /* mark as new */
- did_something = TRUE;
+ seq_first_new = seq_first_new ?: seqn;
}
}
else if (seq->enddisp <= cutframe) {
/* do nothing */
}
else if (seq->startdisp >= cutframe) {
- /* move to tail and mark as new */
+ /* move to tail */
BLI_remlink(slist, seq);
BLI_addtail(slist, seq);
- seq->tmp = seq;
+
+ seq_first_new = seq_first_new ?: seq;
}
}
seq = seq_next_iter;
}
- for (; seq; seq = seq->next) {
- seq->tmp = NULL;
- }
-
- return did_something;
+ return (seq_first_new != NULL);
}
static int insert_gap(Scene *scene, int gap, int cfra)
More information about the Bf-blender-cvs
mailing list