From 462bd81399375f8a91b9fd550bab741d4f8ba949 Mon Sep 17 00:00:00 2001 From: Jeroen Bakker Date: Tue, 15 Jun 2021 09:31:03 +0200 Subject: Fix: Sequencer backdrop not updated during playback. Caused by recent optimization in {7b76a160a4}. --- source/blender/editors/include/ED_sequencer.h | 3 ++- source/blender/editors/screen/screen_ops.c | 3 ++- source/blender/editors/space_sequencer/sequencer_edit.c | 10 ++++++++-- 3 files changed, 12 insertions(+), 4 deletions(-) (limited to 'source') diff --git a/source/blender/editors/include/ED_sequencer.h b/source/blender/editors/include/ED_sequencer.h index ae76f0b6eaf..606b4c9cad0 100644 --- a/source/blender/editors/include/ED_sequencer.h +++ b/source/blender/editors/include/ED_sequencer.h @@ -42,7 +42,8 @@ bool ED_space_sequencer_maskedit_poll(struct bContext *C); bool ED_space_sequencer_check_show_imbuf(struct SpaceSeq *sseq); bool ED_space_sequencer_check_show_strip(struct SpaceSeq *sseq); -bool ED_space_sequencer_has_visible_animation_on_strip(const struct Scene *scene); +bool ED_space_sequencer_has_playback_animation(const struct SpaceSeq *sseq, + const struct Scene *scene); void ED_operatormacros_sequencer(void); diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c index 373bde99e24..92413e808d3 100644 --- a/source/blender/editors/screen/screen_ops.c +++ b/source/blender/editors/screen/screen_ops.c @@ -4453,7 +4453,8 @@ static void screen_animation_region_tag_redraw(ScrArea *area, } if (area->spacetype == SPACE_SEQ) { - if (!ED_space_sequencer_has_visible_animation_on_strip(scene)) { + const SpaceSeq *sseq = area->spacedata.first; + if (!ED_space_sequencer_has_playback_animation(sseq, scene)) { return; } } diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c index 1c9b3676b19..b8134095492 100644 --- a/source/blender/editors/space_sequencer/sequencer_edit.c +++ b/source/blender/editors/space_sequencer/sequencer_edit.c @@ -153,12 +153,18 @@ static bool sequencer_fcurves_targets_color_strip(const FCurve *fcurve) } /* - * Check if there is animation attached to a strip, that is shown on the strip in the UI. + * Check if there is animation shown during playback. * * - Colors of color strips are displayed on the strip itself. + * - Backdrop is drawn. */ -bool ED_space_sequencer_has_visible_animation_on_strip(const struct Scene *scene) +bool ED_space_sequencer_has_playback_animation(const struct SpaceSeq *sseq, + const struct Scene *scene) { + if (sseq->draw_flag & SEQ_DRAW_BACKDROP) { + return true; + } + if (!scene->adt) { return false; } -- cgit v1.2.3