From 8a0622ac68285161bf7de198429a1c1b2c9a70b8 Mon Sep 17 00:00:00 2001 From: Richard Antalik Date: Wed, 15 Oct 2025 21:46:30 +0200 Subject: [PATCH] Fix #148121: Thumbnails are refreshed when adding keyframes to strip When strip property was animated, all caches were wiped. However, it is not necessary to wipe raw cache or thumbnail cache. Pull Request: https://projects.blender.org/blender/blender/pulls/148162 --- source/blender/editors/render/render_update.cc | 3 ++- source/blender/sequencer/SEQ_relations.hh | 3 +++ source/blender/sequencer/intern/strip_relations.cc | 10 ++++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/source/blender/editors/render/render_update.cc b/source/blender/editors/render/render_update.cc index 6965c351fdf..457d4d3bc76 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)) {