1
1

Fix: Sequencer backdrop not updated during playback.

Caused by recent optimization in {7b76a160a4}.
This commit is contained in:
2021-06-15 09:31:03 +02:00
parent 819152527f
commit 462bd81399
3 changed files with 12 additions and 4 deletions

View File

@@ -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);

View File

@@ -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;
}
}

View File

@@ -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;
}