Fix T49589: 2.78 VSE no longer caching Node Editor scene strips

Sequencer cache was cleared when rendering compositor output.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D4758
This commit is contained in:
Richard Antalik 2019-05-01 05:16:01 -07:00
parent 07b223a873
commit bc597eb487
Notes: blender-bot 2023-02-14 07:31:36 +01:00
Referenced by issue #49589, 2.78 VSE no longer caching Node Editor scene strips
3 changed files with 8 additions and 11 deletions

View File

@ -566,6 +566,6 @@ void BKE_sequencer_color_balance_apply(struct StripColorBalance *cb,
bool make_float,
struct ImBuf *mask_input);
void BKE_sequencer_all_free_anim_ibufs(struct Main *bmain, int cfra);
void BKE_sequencer_all_free_anim_ibufs(struct Scene *scene, int cfra);
#endif /* __BKE_SEQUENCER_H__ */

View File

@ -5999,15 +5999,12 @@ static void sequencer_all_free_anim_ibufs(ListBase *seqbase, int cfra)
}
}
void BKE_sequencer_all_free_anim_ibufs(Main *bmain, int cfra)
void BKE_sequencer_all_free_anim_ibufs(Scene *scene, int cfra)
{
for (Scene *scene = bmain->scenes.first; scene != NULL; scene = scene->id.next) {
Editing *ed = BKE_sequencer_editing_get(scene, false);
if (ed == NULL) {
/* Ignore scenes without sequencer. */
continue;
}
sequencer_all_free_anim_ibufs(&ed->seqbase, cfra);
BKE_sequencer_cache_cleanup(scene);
Editing *ed = BKE_sequencer_editing_get(scene, false);
if (ed == NULL) {
return;
}
sequencer_all_free_anim_ibufs(&ed->seqbase, cfra);
BKE_sequencer_cache_cleanup(scene);
}

View File

@ -1693,7 +1693,7 @@ static void do_render_all_options(Render *re)
/* ensure no images are in memory from previous animated sequences */
BKE_image_all_free_anim_ibufs(re->main, re->r.cfra);
BKE_sequencer_all_free_anim_ibufs(re->main, re->r.cfra);
BKE_sequencer_all_free_anim_ibufs(re->scene, re->r.cfra);
/* Update for sequencer and compositing animation.
* TODO: ideally we would create a depsgraph with a copy of the scene