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
path: root/source
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2012-08-27 13:01:36 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2012-08-27 13:01:36 +0400
commitd6a92c9c31423168d3facb747cc215e7b33b6e7b (patch)
tree3be5d72f1b6154179e3c3811ddb3ddac00ca2b95 /source
parent1216dcffaaeb9691715fa33e2a160690b3885990 (diff)
Sequencer: proper cache invalidation when deleting sequences
Solves issue with effects not being recalculated when deleting their input.
Diffstat (limited to 'source')
-rw-r--r--source/blender/blenkernel/intern/sequencer.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c
index 3bcef50a3b4..8aab622148b 100644
--- a/source/blender/blenkernel/intern/sequencer.c
+++ b/source/blender/blenkernel/intern/sequencer.c
@@ -207,8 +207,10 @@ void BKE_sequence_free(Scene *scene, Sequence *seq)
/* free modifiers */
BKE_sequence_modifier_clear(seq);
- BKE_sequencer_cache_cleanup_sequence(seq);
- BKE_sequencer_preprocessed_cache_cleanup_sequence(seq);
+ /* free cached data used by this strip,
+ * also invalidate cache for all dependent sequences
+ */
+ BKE_sequence_invalidate_cache(scene, seq);
MEM_freeN(seq);
}
@@ -2936,6 +2938,9 @@ static void free_anim_seq(Sequence *seq)
/* check whether sequence cur depends on seq */
int BKE_sequence_check_depend(Sequence *seq, Sequence *cur)
{
+ if (cur->seq1 == seq || cur->seq2 == seq || cur->seq3 == seq)
+ return TRUE;
+
/* sequences are not intersecting in time, assume no dependency exists between them */
if (cur->enddisp < seq->startdisp || cur->startdisp > seq->enddisp)
return FALSE;