[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [37970] trunk/blender/source/blender/ render/intern/source/convertblender.c: fix/workaround [#27807] bake malloc loop if Deep Shadow && strand && children

Campbell Barton ideasman42 at gmail.com
Thu Jun 30 04:02:19 CEST 2011


Revision: 37970
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=37970
Author:   campbellbarton
Date:     2011-06-30 02:02:16 +0000 (Thu, 30 Jun 2011)
Log Message:
-----------
fix/workaround [#27807] bake malloc loop if Deep Shadow && strand && children

render strands use the window matrix and window size which were both zero while baking, this caused divides by 0 and eternal malloc loop.
So set unit window matrix and dummy view size.
This is more a workaround then a fix but avoids crashing.

Modified Paths:
--------------
    trunk/blender/source/blender/render/intern/source/convertblender.c

Modified: trunk/blender/source/blender/render/intern/source/convertblender.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/convertblender.c	2011-06-30 01:40:20 UTC (rev 37969)
+++ trunk/blender/source/blender/render/intern/source/convertblender.c	2011-06-30 02:02:16 UTC (rev 37970)
@@ -5737,7 +5737,15 @@
 		unit_m4(mat);
 		RE_SetView(re, mat);
 	}
-	
+	copy_m3_m4(re->imat, re->viewinv);
+
+	/* TODO: deep shadow maps + baking + strands */
+	/* strands use the window matrix and view size, there is to correct
+	 * window matrix but at least avoids malloc and crash loop [#27807] */
+	unit_m4(re->winmat);
+	re->winx= re->winy= 256;
+	/* done setting dummy values */
+
 	init_render_world(re);	/* do first, because of ambient. also requires re->osa set correct */
 	if(re->r.mode & R_RAYTRACE) {
 		init_render_qmcsampler(re);




More information about the Bf-blender-cvs mailing list