From cfcf82803a9e0d590800152a060ff9f97b123184 Mon Sep 17 00:00:00 2001 From: Janne Karhu Date: Thu, 21 Oct 2010 17:00:38 +0000 Subject: Temporary fix for sequencer bugs #22925, #21429, #21783, #24165 * This fix is really only a bandage, as the underlying issue is that sequencer preview render doesn't yet use the job system. * The sequencer preview can start a full render of the scene, and this can collide with other preview/actual renders in many cases. * Drawing the sequencer preview is now disabled when an other render is in progress, but the sequence preview rendering could have already been started before the other render, so this doesn't really fix anything. * For now only OpenGL rendering can be used for the sequencer preview reliably until it's reimplemented using the job system. * Using the job system in the future can handle the clashes between different renders properly and will give users a nice progress bar to indicate something is happening while the preview is recalculated. --- source/blender/editors/space_sequencer/sequencer_draw.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'source/blender/editors/space_sequencer') diff --git a/source/blender/editors/space_sequencer/sequencer_draw.c b/source/blender/editors/space_sequencer/sequencer_draw.c index c4ae658ce37..bbd18e7c1ee 100644 --- a/source/blender/editors/space_sequencer/sequencer_draw.c +++ b/source/blender/editors/space_sequencer/sequencer_draw.c @@ -728,6 +728,10 @@ void draw_image_seq(const bContext* C, Scene *scene, ARegion *ar, SpaceSeq *sseq UI_view2d_totRect_set(v2d, viewrectx + 0.5f, viewrecty + 0.5f); UI_view2d_curRect_validate(v2d); + /* only initialize the preview if a render is in progress */ + if(G.rendering) + return; + if (special_seq_update) ibuf= give_ibuf_seq_direct(bmain, scene, rectx, recty, cfra + frame_ofs, proxy_size, special_seq_update); else if (!U.prefetchframes) // XXX || (G.f & G_PLAYANIM) == 0) { -- cgit v1.2.3