forked from bartvdbraak/blender
== 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();
|
Sequence *last_seq = get_last_seq();
|
||||||
ScrArea * sa;
|
ScrArea * sa;
|
||||||
|
|
||||||
|
if (!last_seq) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
switch(event) {
|
switch(event) {
|
||||||
case B_SEQ_BUT_PLUGIN:
|
case B_SEQ_BUT_PLUGIN:
|
||||||
case B_SEQ_BUT_EFFECT:
|
case B_SEQ_BUT_EFFECT:
|
||||||
@ -1323,6 +1327,7 @@ void do_sequencer_panels(unsigned short event)
|
|||||||
allqueue(REDRAWALL, 0);
|
allqueue(REDRAWALL, 0);
|
||||||
} else {
|
} else {
|
||||||
allqueue(REDRAWSEQ, 0);
|
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
|
} else if(seq->type == SEQ_SCENE) { // scene can be NULL after deletions
|
||||||
int oldcfra = CFRA;
|
int oldcfra = CFRA;
|
||||||
|
Sequence * oldseq = get_last_seq();
|
||||||
Scene *sce= seq->scene, *oldsce= G.scene;
|
Scene *sce= seq->scene, *oldsce= G.scene;
|
||||||
Render *re;
|
Render *re;
|
||||||
RenderResult rres;
|
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 */
|
if((G.f & G_PLAYANIM)==0) /* bad, is set on do_render_seq */
|
||||||
waitcursor(0);
|
waitcursor(0);
|
||||||
CFRA = oldcfra;
|
CFRA = oldcfra;
|
||||||
|
set_last_seq(oldseq);
|
||||||
|
|
||||||
copy_to_ibuf_still(seq, se);
|
copy_to_ibuf_still(seq, se);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user