Fix: Sequencer backdrop not updated during playback.
Caused by recent optimization in {7b76a160a4}.
This commit is contained in:
@@ -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);
|
||||
|
||||
|
@@ -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;
|
||||
}
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user