[Bf-blender-cvs] [2b12b4cd7dc] blender-v3.0-release: Fix: make sure geometry owns mesh before taking ownership
Jacques Lucke
noreply at git.blender.org
Wed Nov 3 10:46:04 CET 2021
Commit: 2b12b4cd7dccfa51cec53d5ae885a2142563fb17
Author: Jacques Lucke
Date: Wed Nov 3 10:42:48 2021 +0100
Branches: blender-v3.0-release
https://developer.blender.org/rB2b12b4cd7dccfa51cec53d5ae885a2142563fb17
Fix: make sure geometry owns mesh before taking ownership
Differential Revision: https://developer.blender.org/D13075
===================================================================
M source/blender/blenkernel/intern/DerivedMesh.cc
===================================================================
diff --git a/source/blender/blenkernel/intern/DerivedMesh.cc b/source/blender/blenkernel/intern/DerivedMesh.cc
index 3ec0ab9c512..4b1332d5b84 100644
--- a/source/blender/blenkernel/intern/DerivedMesh.cc
+++ b/source/blender/blenkernel/intern/DerivedMesh.cc
@@ -921,6 +921,10 @@ static Mesh *modifier_modify_mesh_and_geometry_set(ModifierData *md,
/* Release the mesh from the geometry set again. */
if (geometry_set.has<MeshComponent>()) {
MeshComponent &mesh_component = geometry_set.get_component_for_write<MeshComponent>();
+ if (mesh_component.get_for_read() != input_mesh) {
+ /* Make sure the mesh component actually owns the mesh before taking over ownership. */
+ mesh_component.ensure_owns_direct_data();
+ }
mesh_output = mesh_component.release();
}
More information about the Bf-blender-cvs
mailing list