diff --git a/source/blender/editors/render/render_update.cc b/source/blender/editors/render/render_update.cc index bc86388ef6e..b9d1701a8d8 100644 --- a/source/blender/editors/render/render_update.cc +++ b/source/blender/editors/render/render_update.cc @@ -325,7 +325,8 @@ static void update_sequencer(const DEGEditorUpdateContext *update_ctx, Main *bma &changed_scene->adt->action->id == id) { blender::seq::prefetch_stop(changed_scene); - blender::seq::cache_cleanup(changed_scene); + blender::seq::cache_cleanup_intra(changed_scene); + blender::seq::cache_cleanup_final(changed_scene); } } diff --git a/source/blender/sequencer/SEQ_relations.hh b/source/blender/sequencer/SEQ_relations.hh index a63cb2398e5..87546dfde5a 100644 --- a/source/blender/sequencer/SEQ_relations.hh +++ b/source/blender/sequencer/SEQ_relations.hh @@ -75,6 +75,9 @@ void relations_check_uids_unique_and_report(const Scene *scene); void relations_session_uid_generate(Strip *strip); void cache_cleanup(Scene *scene); +void cache_cleanup_intra(Scene *scene); +void cache_cleanup_final(Scene *scene); + void cache_settings_changed(Scene *scene); bool is_cache_full(const Scene *scene); bool evict_caches_if_full(Scene *scene); diff --git a/source/blender/sequencer/intern/strip_relations.cc b/source/blender/sequencer/intern/strip_relations.cc index 496d28e425f..b9c47d97387 100644 --- a/source/blender/sequencer/intern/strip_relations.cc +++ b/source/blender/sequencer/intern/strip_relations.cc @@ -55,6 +55,16 @@ void cache_cleanup(Scene *scene) preview_cache_invalidate(scene); } +void cache_cleanup_intra(Scene *scene) +{ + intra_frame_cache_invalidate(scene); +} + +void cache_cleanup_final(Scene *scene) +{ + final_image_cache_clear(scene); +} + void cache_settings_changed(Scene *scene) { if (!(scene->ed->cache_flag & SEQ_CACHE_STORE_RAW)) {