Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Antalik <richardantalik@gmail.com>2020-04-12 23:42:31 +0300
committerRichard Antalik <richardantalik@gmail.com>2020-04-12 23:42:31 +0300
commitbbf1c83370ea0682cafb99ad98e52ae625f360a9 (patch)
tree107c708f04d5bb05bbf16ad82e1aae21eb0d7ed6 /source/blender/blenkernel/intern/seqcache.c
parent5081556bb517961f513e6874b4040ab8e623f1d7 (diff)
Fix T74875: Preview shows previously cached frame after Hard Cut
Add method to invalidate strip cache in range of non-overlapping strip. Invalidate original strip in range of new strip created by cutting. Reviewed By: brecht Differential Revision: https://developer.blender.org/D7313
Diffstat (limited to 'source/blender/blenkernel/intern/seqcache.c')
-rw-r--r--source/blender/blenkernel/intern/seqcache.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/source/blender/blenkernel/intern/seqcache.c b/source/blender/blenkernel/intern/seqcache.c
index 12c5821e858..f999a98faac 100644
--- a/source/blender/blenkernel/intern/seqcache.c
+++ b/source/blender/blenkernel/intern/seqcache.c
@@ -1153,7 +1153,8 @@ void BKE_sequencer_cache_cleanup(Scene *scene)
void BKE_sequencer_cache_cleanup_sequence(Scene *scene,
Sequence *seq,
Sequence *seq_changed,
- int invalidate_types)
+ int invalidate_types,
+ bool force_seq_changed_range)
{
SeqCache *cache = seq_cache_get_from_scene(scene);
if (!cache) {
@@ -1169,12 +1170,14 @@ void BKE_sequencer_cache_cleanup_sequence(Scene *scene,
int range_start = seq_changed->startdisp;
int range_end = seq_changed->enddisp;
- if (seq->startdisp > range_start) {
- range_start = seq->startdisp;
- }
+ if (!force_seq_changed_range) {
+ if (seq->startdisp > range_start) {
+ range_start = seq->startdisp;
+ }
- if (seq->enddisp < range_end) {
- range_end = seq->enddisp;
+ if (seq->enddisp < range_end) {
+ range_end = seq->enddisp;
+ }
}
int invalidate_composite = invalidate_types & SEQ_CACHE_STORE_FINAL_OUT;