[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [60203] trunk/blender/intern/cycles/bvh/ bvh_build.cpp: Fix #36750: windows crash with empty cycles scene, can' t do &references[0] with

Brecht Van Lommel brechtvanlommel at pandora.be
Tue Sep 17 17:03:01 CEST 2013


Revision: 60203
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=60203
Author:   blendix
Date:     2013-09-17 15:03:01 +0000 (Tue, 17 Sep 2013)
Log Message:
-----------
Fix #36750: windows crash with empty cycles scene, can't do &references[0] with
MSVC when references is an empty vector.

Modified Paths:
--------------
    trunk/blender/intern/cycles/bvh/bvh_build.cpp

Modified: trunk/blender/intern/cycles/bvh/bvh_build.cpp
===================================================================
--- trunk/blender/intern/cycles/bvh/bvh_build.cpp	2013-09-17 14:49:11 UTC (rev 60202)
+++ trunk/blender/intern/cycles/bvh/bvh_build.cpp	2013-09-17 15:03:01 UTC (rev 60203)
@@ -286,7 +286,7 @@
 
 	/* have at least one inner node on top level, for performance and correct
 	 * visibility tests, since object instances do not check visibility flag */
-	if(!(params.top_level && level == 0)) {
+	if(!(range.size() > 0 && params.top_level && level == 0)) {
 		/* make leaf node when threshold reached or SAH tells us */
 		if(params.small_enough_for_leaf(size, level) || (size <= params.max_leaf_size && leafSAH < splitSAH))
 			return create_leaf_node(range);
@@ -326,7 +326,7 @@
 		return NULL;
 
 	/* small enough or too deep => create leaf. */
-	if(!(params.top_level && level == 0)) {
+	if(!(range.size() > 0 && params.top_level && level == 0)) {
 		if(params.small_enough_for_leaf(range.size(), level)) {
 			progress_count += range.size();
 			return create_leaf_node(range);
@@ -336,7 +336,7 @@
 	/* splitting test */
 	BVHMixedSplit split(this, range, level);
 
-	if(!(params.top_level && level == 0)) {
+	if(!(range.size() > 0 && params.top_level && level == 0)) {
 		if(split.no_split) {
 			progress_count += range.size();
 			return create_leaf_node(range);




More information about the Bf-blender-cvs mailing list