Browse Source

Merge pull request #49142 from Chaosus/bvh_fix_possible_crash

Fixed possible crash in `DynamicBVH::optimize_incremental`
Rémi Verschelde 4 years ago
parent
commit
5ec8920cde
1 changed files with 4 additions and 1 deletions
  1. 4 1
      core/math/dynamic_bvh.cpp

+ 4 - 1
core/math/dynamic_bvh.cpp

@@ -312,8 +312,11 @@ void DynamicBVH::optimize_incremental(int passes) {
 	if (passes < 0) {
 	if (passes < 0) {
 		passes = total_leaves;
 		passes = total_leaves;
 	}
 	}
-	if (bvh_root && (passes > 0)) {
+	if (passes > 0) {
 		do {
 		do {
+			if (!bvh_root) {
+				break;
+			}
 			Node *node = bvh_root;
 			Node *node = bvh_root;
 			unsigned bit = 0;
 			unsigned bit = 0;
 			while (node->is_internal()) {
 			while (node->is_internal()) {