[Bf-blender-cvs] [a4868f20581] master: Fix T104136: Crash with Mesh to Volume & Simplify

Erik Abrahamsson noreply at git.blender.org
Wed Feb 1 20:51:37 CET 2023


Commit: a4868f20581cd4b1ae071dbfda45fdac76b66b07
Author: Erik Abrahamsson
Date:   Wed Feb 1 20:50:39 2023 +0100
Branches: master
https://developer.blender.org/rBa4868f20581cd4b1ae071dbfda45fdac76b66b07

Fix T104136: Crash with Mesh to Volume & Simplify

Blender crashes when Simplify is enabled and set to 0.
This is because mesh_to_volume_grid returns nullptr at voxel size 0.
A simple null-check fixes this problem.

Differential Revision: https://developer.blender.org/D17122

===================================================================

M	source/blender/geometry/intern/mesh_to_volume.cc

===================================================================

diff --git a/source/blender/geometry/intern/mesh_to_volume.cc b/source/blender/geometry/intern/mesh_to_volume.cc
index 12a4a95bd71..8cbee7a3d32 100644
--- a/source/blender/geometry/intern/mesh_to_volume.cc
+++ b/source/blender/geometry/intern/mesh_to_volume.cc
@@ -159,12 +159,14 @@ VolumeGrid *volume_grid_add_from_mesh(Volume *volume,
                                                           interior_band_width,
                                                           density);
 
-  /* Merge the generated grid. Should be cheap because grid has just been created. */
-  grid->merge(*mesh_grid);
+  if (mesh_grid != nullptr) {
+    /* Merge the generated grid. Should be cheap because grid has just been created. */
+    grid->merge(*mesh_grid);
+    /* Change transform so that the index space is correctly transformed to object space. */
+    grid->transform().postScale(voxel_size);
+  }
   /* Set class to "Fog Volume". */
   grid->setGridClass(openvdb::GRID_FOG_VOLUME);
-  /* Change transform so that the index space is correctly transformed to object space. */
-  grid->transform().postScale(voxel_size);
   return c_grid;
 }
 }  // namespace blender::geometry



More information about the Bf-blender-cvs mailing list