diff options
author | Richard Antalik <richardantalik@gmail.com> | 2019-05-01 15:16:01 +0300 |
---|---|---|
committer | Richard Antalik <richardantalik@gmail.com> | 2019-05-01 15:16:01 +0300 |
commit | bc597eb4878913097fff0a973497e3900a7d8908 (patch) | |
tree | 57fdc0d630f68ee24c3c0a9934eed16eeb754274 | |
parent | 07b223a8730e37b7d8f013283ff051e493788fb8 (diff) |
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
-rw-r--r-- | source/blender/blenkernel/BKE_sequencer.h | 2 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/sequencer.c | 15 | ||||
-rw-r--r-- | source/blender/render/intern/source/pipeline.c | 2 |
3 files changed, 8 insertions, 11 deletions
diff --git a/source/blender/blenkernel/BKE_sequencer.h b/source/blender/blenkernel/BKE_sequencer.h index 84d26bd1db9..017c15ebe41 100644 --- a/source/blender/blenkernel/BKE_sequencer.h +++ b/source/blender/blenkernel/BKE_sequencer.h @@ -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__ */ diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c index 85b915874ca..1e492499670 100644 --- a/source/blender/blenkernel/intern/sequencer.c +++ b/source/blender/blenkernel/intern/sequencer.c @@ -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); } diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index cfe7f4923a0..7d3002ea71d 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -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 |