[Bf-blender-cvs] [0a89c3954f4] master: Fix T62845 VSE preview crash when setting rendered (EEVEE/Workbench)

Clément Foucault noreply at git.blender.org
Sat Mar 23 19:09:45 CET 2019


Commit: 0a89c3954f465c2a528e03c06f28ad9c33ed907d
Author: Clément Foucault
Date:   Sat Mar 23 19:09:25 2019 +0100
Branches: master
https://developer.blender.org/rB0a89c3954f465c2a528e03c06f28ad9c33ed907d

Fix T62845 VSE preview crash when setting rendered (EEVEE/Workbench)

===================================================================

M	source/blender/editors/space_sequencer/sequencer_draw.c

===================================================================

diff --git a/source/blender/editors/space_sequencer/sequencer_draw.c b/source/blender/editors/space_sequencer/sequencer_draw.c
index 7d1748f4bb0..2b2935157be 100644
--- a/source/blender/editors/space_sequencer/sequencer_draw.c
+++ b/source/blender/editors/space_sequencer/sequencer_draw.c
@@ -952,6 +952,10 @@ ImBuf *sequencer_ibuf_get(
 	 */
 	G.is_break = false;
 
+	/* Rendering can change OGL context. Save & Restore framebuffer. */
+	GPUFrameBuffer *fb = GPU_framebuffer_active_get();
+	GPU_framebuffer_restore();
+
 	if (special_seq_update)
 		ibuf = BKE_sequencer_give_ibuf_direct(&context, cfra + frame_ofs, special_seq_update);
 	else if (!U.prefetchframes) // XXX || (G.f & G_PLAYANIM) == 0) {
@@ -959,6 +963,8 @@ ImBuf *sequencer_ibuf_get(
 	else
 		ibuf = BKE_sequencer_give_ibuf_threaded(&context, cfra + frame_ofs, sseq->chanshown);
 
+	GPU_framebuffer_bind(fb);
+
 	/* restore state so real rendering would be canceled (if needed) */
 	G.is_break = is_break;



More information about the Bf-blender-cvs mailing list