From 3bcc45ff647c0dc657bc3f507605c9d8ab8bdd5b Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Fri, 10 Dec 2004 14:50:39 +0000 Subject: Bug fix #1994 Sequence editor crash when you delete Scenes which were used as a strip. Related to that, file reading code didn't restore pointers for strips correctly when you save with open "Meta" strip. First bug 8 year old. Second 1 month. :) --- source/blender/blenloader/intern/readfile.c | 2 +- source/blender/src/sequence.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 1cd72598184..5e4bdd3ed7c 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -2398,7 +2398,7 @@ static void lib_link_scene(FileData *fd, Main *main) ed= sce->ed; if(ed) { - WHILE_SEQ(ed->seqbasep) { + WHILE_SEQ(&ed->seqbase) { if(seq->ipo) seq->ipo= newlibadr_us(fd, sce->id.lib, seq->ipo); if(seq->scene) seq->scene= newlibadr(fd, sce->id.lib, seq->scene); if(seq->sound) { diff --git a/source/blender/src/sequence.c b/source/blender/src/sequence.c index 6489a0fde52..d7b8f6c22ad 100644 --- a/source/blender/src/sequence.c +++ b/source/blender/src/sequence.c @@ -1807,6 +1807,8 @@ void do_build_seqar_cfra(ListBase *seqbase, Sequence ***seqar, int cfra) int oldx, oldy, oldcfra, doseq; char name[FILE_MAXDIR]; + if(seqar==NULL) return; + seq= seqbase->first; while(seq) { @@ -1933,9 +1935,9 @@ void do_build_seqar_cfra(ListBase *seqbase, Sequence ***seqar, int cfra) if((G.f & G_PLAYANIM)==0) waitcursor(0); } } - else if(seq->type==SEQ_SCENE && se->ibuf==0) { + else if(seq->type==SEQ_SCENE && se->ibuf==0 && seq->scene) { // scene can be NULL after deletions View3D *vd; - + oldsce= G.scene; set_scene_bg(seq->scene); -- cgit v1.2.3