Quellcode durchsuchen

Merge pull request #49142 from Chaosus/bvh_fix_possible_crash

Fixed possible crash in `DynamicBVH::optimize_incremental`
Rémi Verschelde vor 4 Jahren
Ursprung
Commit
5ec8920cde
1 geänderte Dateien mit 4 neuen und 1 gelöschten Zeilen
  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()) {