[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [33732] trunk/blender/source/blender/ blenkernel/intern/sequencer.c: This fixes

Peter Schlaile peter at schlaile.de
Fri Dec 17 09:08:36 CET 2010


Revision: 33732
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=33732
Author:   schlaile
Date:     2010-12-17 09:08:35 +0100 (Fri, 17 Dec 2010)

Log Message:
-----------
This fixes
[#25011] Opacity IPO not refreshing with still images

(should be better named: animation of any prefiltering parameters using 
still images didn't work out as expected)

And this issue by private mail by Ton:

"I tried to debug a memory-free error; very simple case:

- add image strip
- click on strip at 2 places
- quit blender"

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	2010-12-17 07:06:27 UTC (rev 33731)
+++ trunk/blender/source/blender/blenkernel/intern/sequencer.c	2010-12-17 08:08:35 UTC (rev 33732)
@@ -1683,8 +1683,7 @@
 		ibuf = seq_stripelem_cache_get(
 			context, seq, seq->start, 
 			SEQ_STRIPELEM_IBUF_STARTSTILL);
-	}
-	if (nr == seq->len - 1) {
+	} else if (nr == seq->len - 1) {
 		ibuf = seq_stripelem_cache_get(
 			context, seq, seq->start, 
 			SEQ_STRIPELEM_IBUF_ENDSTILL);
@@ -1705,7 +1704,8 @@
 		seq_stripelem_cache_put(
 			context, seq, seq->start, 
 			SEQ_STRIPELEM_IBUF_STARTSTILL, ibuf);
-	}
+	} 
+
 	if (nr == seq->len - 1) {
 		seq_stripelem_cache_put(
 			context, seq, seq->start, 
@@ -1969,14 +1969,15 @@
 
 	ibuf = seq_stripelem_cache_get(context, seq, cfra, SEQ_STRIPELEM_IBUF);
 
-	if (ibuf == NULL)
-		ibuf = copy_from_ibuf_still(context, seq, nr);
-	
-	/* currently, we cache preprocessed images */
+	/* currently, we cache preprocessed images in SEQ_STRIPELEM_IBUF,
+	   but not(!) on SEQ_STRIPELEM_IBUF_ENDSTILL and ..._STARTSTILL */
 	if (ibuf)
 		use_preprocess = FALSE;
 
 	if (ibuf == NULL)
+		ibuf = copy_from_ibuf_still(context, seq, nr);
+	
+	if (ibuf == NULL)
 		ibuf = seq_proxy_fetch(context, seq, cfra);
 
 	if(ibuf == NULL) switch(type) {





More information about the Bf-blender-cvs mailing list