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. :)
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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,7 +1935,7 @@ 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;
|
||||
|
||||
Reference in New Issue
Block a user