[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [23763] trunk/blender/source/blender/ render/intern: Fix #19571 (reported by Markus Ilmola):

Andre Susano Pinto andresusanopinto at gmail.com
Sat Oct 10 20:42:22 CEST 2009


Revision: 23763
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23763
Author:   jaguarandi
Date:     2009-10-10 20:42:20 +0200 (Sat, 10 Oct 2009)

Log Message:
-----------
Fix #19571 (reported by Markus Ilmola):
Added missing callbacks. Was leading to crashs when the raytree was empty.

Modified Paths:
--------------
    trunk/blender/source/blender/render/intern/raytrace/rayobject.cpp
    trunk/blender/source/blender/render/intern/source/rayobject_instance.c

Modified: trunk/blender/source/blender/render/intern/raytrace/rayobject.cpp
===================================================================
--- trunk/blender/source/blender/render/intern/raytrace/rayobject.cpp	2009-10-10 17:40:56 UTC (rev 23762)
+++ trunk/blender/source/blender/render/intern/raytrace/rayobject.cpp	2009-10-10 18:42:20 UTC (rev 23763)
@@ -559,6 +559,9 @@
 	return 0.0;
 }
 
+static void RE_rayobject_empty_hint_bb(RayObject *o, RayHint *hint, float *min, float *max)
+{}
+
 static RayObjectAPI empty_api =
 {
 	RE_rayobject_empty_intersect,
@@ -566,7 +569,8 @@
 	NULL, //static void RE_rayobject_instance_done(RayObject *o);
 	RE_rayobject_empty_free,
 	RE_rayobject_empty_bb,
-	RE_rayobject_empty_cost
+	RE_rayobject_empty_cost,
+	RE_rayobject_empty_hint_bb
 };
 
 static RayObject empty_raytree = { &empty_api, {0, 0} };

Modified: trunk/blender/source/blender/render/intern/source/rayobject_instance.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/rayobject_instance.c	2009-10-10 17:40:56 UTC (rev 23762)
+++ trunk/blender/source/blender/render/intern/source/rayobject_instance.c	2009-10-10 18:42:20 UTC (rev 23763)
@@ -41,6 +41,9 @@
 static void RE_rayobject_instance_bb(RayObject *o, float *min, float *max);
 static float RE_rayobject_instance_cost(RayObject *o);
 
+static void RE_rayobject_instance_hint_bb(RayObject *o, RayHint *hint, float *min, float *max)
+{}
+
 static RayObjectAPI instance_api =
 {
 	RE_rayobject_instance_intersect,
@@ -48,7 +51,8 @@
 	NULL, //static void RE_rayobject_instance_done(RayObject *o);
 	RE_rayobject_instance_free,
 	RE_rayobject_instance_bb,
-	RE_rayobject_instance_cost
+	RE_rayobject_instance_cost,
+	RE_rayobject_instance_hint_bb	
 };
 
 typedef struct InstanceRayObject





More information about the Bf-blender-cvs mailing list