diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-09-17 19:03:01 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-09-17 19:03:01 +0400 |
commit | e1a57e785858328216a0e6ded05c81843c84620a (patch) | |
tree | 838cbf58f61b36d1d5f9ee3e384ded86b51d8c33 /intern/cycles/bvh | |
parent | 07306c5f9c12fc9a43cc49a716ebb54c40a2093d (diff) |
Fix #36750: windows crash with empty cycles scene, can't do &references[0] with
MSVC when references is an empty vector.
Diffstat (limited to 'intern/cycles/bvh')
-rw-r--r-- | intern/cycles/bvh/bvh_build.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/intern/cycles/bvh/bvh_build.cpp b/intern/cycles/bvh/bvh_build.cpp index 5d0e461fba3..2c3c31b5429 100644 --- a/intern/cycles/bvh/bvh_build.cpp +++ b/intern/cycles/bvh/bvh_build.cpp @@ -286,7 +286,7 @@ BVHNode* BVHBuild::build_node(const BVHObjectBinning& range, int level) /* 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 @@ BVHNode* BVHBuild::build_node(const BVHRange& range, int level) 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 @@ BVHNode* BVHBuild::build_node(const BVHRange& range, int level) /* 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); |