diff --git a/source/blender/src/buttons_scene.c b/source/blender/src/buttons_scene.c index feb8172d4e9..b98a8c58102 100644 --- a/source/blender/src/buttons_scene.c +++ b/source/blender/src/buttons_scene.c @@ -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); } } diff --git a/source/blender/src/sequence.c b/source/blender/src/sequence.c index 6ba53ff9b5e..1aca097e373 100644 --- a/source/blender/src/sequence.c +++ b/source/blender/src/sequence.c @@ -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);