Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2004-12-10 17:50:39 +0300
committerTon Roosendaal <ton@blender.org>2004-12-10 17:50:39 +0300
commit3bcc45ff647c0dc657bc3f507605c9d8ab8bdd5b (patch)
tree252c64644ea4785ae48d918c75b93ceaf8d4cda7
parent58a503c18974dcee21c0398facdf7d1fa3138571 (diff)
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. :)
-rw-r--r--source/blender/blenloader/intern/readfile.c2
-rw-r--r--source/blender/src/sequence.c6
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);