diff --git a/source/blender/editors/space_sequencer/sequencer_draw.c b/source/blender/editors/space_sequencer/sequencer_draw.c index 1ec6d9dc4a7..3e744a55183 100644 --- a/source/blender/editors/space_sequencer/sequencer_draw.c +++ b/source/blender/editors/space_sequencer/sequencer_draw.c @@ -1603,32 +1603,32 @@ static void draw_seq_strip_thumbnail(View2D *v2d, /* Get the image. */ ImBuf *ibuf = SEQ_get_thumbnail(&context, seq, roundf(thumb_x_start), &crop, clipped); - if (ibuf) { - /* Transparency on overlap. */ - if (seq->flag & SEQ_OVERLAP) { - GPU_blend(GPU_BLEND_ALPHA); - unsigned char *buf = (unsigned char *)ibuf->rect; - for (int pixel = ibuf->x * ibuf->y; pixel--; buf += 4) { - buf[3] = OVERLAP_ALPHA; - } - } - - ED_draw_imbuf_ctx_clipping(C, - ibuf, - thumb_x_start + cut_off, - y1, - true, - thumb_x_start + cut_off, - y1, - thumb_x_end, - thumb_y_end, - zoom_x, - zoom_y); - IMB_freeImBuf(ibuf); - } - else { + if (!ibuf) { sequencer_thumbnail_start_job_if_necessary(C, scene->ed, v2d, true); + break; } + + /* Transparency on overlap. */ + if (seq->flag & SEQ_OVERLAP) { + GPU_blend(GPU_BLEND_ALPHA); + unsigned char *buf = (unsigned char *)ibuf->rect; + for (int pixel = ibuf->x * ibuf->y; pixel--; buf += 4) { + buf[3] = OVERLAP_ALPHA; + } + } + + ED_draw_imbuf_ctx_clipping(C, + ibuf, + thumb_x_start + cut_off, + y1, + true, + thumb_x_start + cut_off, + y1, + thumb_x_end, + thumb_y_end, + zoom_x, + zoom_y); + IMB_freeImBuf(ibuf); GPU_blend(GPU_BLEND_NONE); cut_off = 0; thumb_x_start = thumb_x_end;