Sequencer: do not invalidate sequences which are not blending with bottom machines
authorSergey Sharybin <sergey.vfx@gmail.com>
Wed, 8 Aug 2012 16:46:43 +0000 (16:46 +0000)
committerSergey Sharybin <sergey.vfx@gmail.com>
Wed, 8 Aug 2012 16:46:43 +0000 (16:46 +0000)
source/blender/blenkernel/intern/sequencer.c

index 30d37629e3176af294d721541178d55f559a4d62..0fc26a89d3d6f3afeb3f37c4e2716cbc56556517 100644 (file)
@@ -2728,6 +2728,13 @@ void BKE_sequence_invalidate_cache(Scene *scene, Sequence *seq)
                if (cur->machine < seq->machine)
                        continue;
 
+               /* sequence is not blending with lower machines, no need to invalidate */
+               if ((cur->blend_mode == SEQ_BLEND_REPLACE) ||
+                   (cur->blend_mode == SEQ_TYPE_CROSS && cur->blend_opacity == 100.0f))
+               {
+                       continue;
+               }
+
                BKE_sequencer_cache_cleanup_sequence(cur);
        }
        SEQ_END