[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [50240] trunk/blender/source/blender/ blenkernel/intern/sequencer.c: Sequencer: proper cache invalidation when deleting sequences

Sergey Sharybin sergey.vfx at gmail.com
Mon Aug 27 11:01:36 CEST 2012


Revision: 50240
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=50240
Author:   nazgul
Date:     2012-08-27 09:01:36 +0000 (Mon, 27 Aug 2012)
Log Message:
-----------
Sequencer: proper cache invalidation when deleting sequences

Solves issue with effects not being recalculated when deleting their input.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/sequencer.c

Modified: trunk/blender/source/blender/blenkernel/intern/sequencer.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/sequencer.c	2012-08-27 09:01:35 UTC (rev 50239)
+++ trunk/blender/source/blender/blenkernel/intern/sequencer.c	2012-08-27 09:01:36 UTC (rev 50240)
@@ -207,8 +207,10 @@
 	/* 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 @@
 /* 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;




More information about the Bf-blender-cvs mailing list