== Sequencer ==
This fixes: [#11745] Blender crashes when changing Scenes on Sequencer`s Strips containing: - last_seq was set to null by scene-render - button handling wasn't very robust (didn't check for null) - REDRAWBUTSSCENE was missing
This commit is contained in:
parent
92c9ae280c
commit
38ffd41bf0
@ -1286,6 +1286,10 @@ void do_sequencer_panels(unsigned short event)
|
||||
Sequence *last_seq = get_last_seq();
|
||||
ScrArea * sa;
|
||||
|
||||
if (!last_seq) {
|
||||
return;
|
||||
}
|
||||
|
||||
switch(event) {
|
||||
case B_SEQ_BUT_PLUGIN:
|
||||
case B_SEQ_BUT_EFFECT:
|
||||
@ -1323,6 +1327,7 @@ void do_sequencer_panels(unsigned short event)
|
||||
allqueue(REDRAWALL, 0);
|
||||
} else {
|
||||
allqueue(REDRAWSEQ, 0);
|
||||
allqueue(REDRAWBUTSSCENE, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1756,6 +1756,7 @@ static void do_build_seq_ibuf(Sequence * seq, TStripElem *se, int cfra,
|
||||
}
|
||||
} else if(seq->type == SEQ_SCENE) { // scene can be NULL after deletions
|
||||
int oldcfra = CFRA;
|
||||
Sequence * oldseq = get_last_seq();
|
||||
Scene *sce= seq->scene, *oldsce= G.scene;
|
||||
Render *re;
|
||||
RenderResult rres;
|
||||
@ -1834,6 +1835,7 @@ static void do_build_seq_ibuf(Sequence * seq, TStripElem *se, int cfra,
|
||||
if((G.f & G_PLAYANIM)==0) /* bad, is set on do_render_seq */
|
||||
waitcursor(0);
|
||||
CFRA = oldcfra;
|
||||
set_last_seq(oldseq);
|
||||
|
||||
copy_to_ibuf_still(seq, se);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user