[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42674] trunk/blender/source/blender/ blenkernel/intern/image.c: Fix #27847: sequencer scene strip rendering crash, due to use of freed

Brecht Van Lommel brechtvanlommel at pandora.be
Fri Dec 16 23:45:41 CET 2011


Revision: 42674
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42674
Author:   blendix
Date:     2011-12-16 22:45:29 +0000 (Fri, 16 Dec 2011)
Log Message:
-----------
Fix #27847: sequencer scene strip rendering crash, due to use of freed
RenderResult.rect. Sergey did all the work to track this down, I'm just
committing a slighty different fix.

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

Modified: trunk/blender/source/blender/blenkernel/intern/image.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/image.c	2011-12-16 22:33:22 UTC (rev 42673)
+++ trunk/blender/source/blender/blenkernel/intern/image.c	2011-12-16 22:45:29 UTC (rev 42674)
@@ -2277,7 +2277,10 @@
 	ibuf->x= rres.rectx;
 	ibuf->y= rres.recty;
 	
-	if(ibuf->rect_float!=rectf || rect) /* ensure correct redraw */
+	/* free rect buffer if float buffer changes, so it can be recreated with
+	   the updated result, and also in case we got byte buffer from sequencer,
+	   so we don't keep reference to freed buffer */
+	if(ibuf->rect_float!=rectf || rect || !rectf)
 		imb_freerectImBuf(ibuf);
 
 	if(rect)




More information about the Bf-blender-cvs mailing list