fix for crash in sequencer introduced with recent cache addition,

- running undo with metastrips would crash immediately.
- freeing a strip without a scene would crash (clipboard does this).
This commit is contained in:
2012-09-06 04:45:25 +00:00
parent 86dd087057
commit 3bb17bd64a
6 changed files with 31 additions and 22 deletions

View File

@@ -852,7 +852,7 @@ void draw_image_seq(const bContext *C, Scene *scene, ARegion *ar, SpaceSeq *sseq
struct ImBuf *ibuf = NULL;
struct ImBuf *scope = NULL;
struct View2D *v2d = &ar->v2d;
int rectx, recty;
/* int rectx, recty; */ /* UNUSED */
float viewrectx, viewrecty;
float render_size = 0.0;
float proxy_size = 100.0;
@@ -874,8 +874,8 @@ void draw_image_seq(const bContext *C, Scene *scene, ARegion *ar, SpaceSeq *sseq
viewrectx = (render_size * (float)scene->r.xsch) / 100.0f;
viewrecty = (render_size * (float)scene->r.ysch) / 100.0f;
rectx = viewrectx + 0.5f;
recty = viewrecty + 0.5f;
/* rectx = viewrectx + 0.5f; */ /* UNUSED */
/* recty = viewrecty + 0.5f; */ /* UNUSED */
if (sseq->mainb == SEQ_DRAW_IMG_IMBUF) {
viewrectx *= scene->r.xasp / scene->r.yasp;

View File

@@ -613,7 +613,7 @@ static void recurs_del_seq_flag(Scene *scene, ListBase *lb, short flag, short de
BLI_remlink(lb, seq);
if (seq == last_seq) BKE_sequencer_active_set(scene, NULL);
if (seq->type == SEQ_TYPE_META) recurs_del_seq_flag(scene, &seq->seqbase, flag, 1);
BKE_sequence_free(scene, seq);
BKE_sequence_free(scene, seq, TRUE);
}
seq = seqn;
}
@@ -1812,7 +1812,7 @@ static int sequencer_separate_images_exec(bContext *C, wmOperator *op)
start_ofs += step;
}
BKE_sequence_free(scene, seq);
BKE_sequence_free(scene, seq, TRUE);
seq = seq->next;
}
else {
@@ -2010,7 +2010,7 @@ static int sequencer_meta_separate_exec(bContext *C, wmOperator *UNUSED(op))
last_seq->seqbase.last = NULL;
BLI_remlink(ed->seqbasep, last_seq);
BKE_sequence_free(scene, last_seq);
BKE_sequence_free(scene, last_seq, TRUE);
/* emtpy meta strip, delete all effects depending on it */
for (seq = ed->seqbasep->first; seq; seq = seq->next)