[Bf-blender-cvs] [29c68895b05] refactor-mesh-remove-pointers: Fix modifiers test

Hans Goudey noreply at git.blender.org
Mon Aug 1 06:29:33 CEST 2022


Commit: 29c68895b0534f505fe628b96929f674991cd5af
Author: Hans Goudey
Date:   Sun Jul 31 23:29:15 2022 -0500
Branches: refactor-mesh-remove-pointers
https://developer.blender.org/rB29c68895b0534f505fe628b96929f674991cd5af

Fix modifiers test

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

M	source/blender/blenkernel/intern/mesh_convert.cc
M	source/blender/modifiers/intern/MOD_mask.cc
M	source/blender/modifiers/intern/MOD_skin.c

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

diff --git a/source/blender/blenkernel/intern/mesh_convert.cc b/source/blender/blenkernel/intern/mesh_convert.cc
index 618e6640cf2..6b866be328f 100644
--- a/source/blender/blenkernel/intern/mesh_convert.cc
+++ b/source/blender/blenkernel/intern/mesh_convert.cc
@@ -512,7 +512,7 @@ Mesh *BKE_mesh_new_nomain_from_curve_displist(const Object *ob, const ListBase *
 
   blender::bke::mesh_vertices_for_write(*mesh).copy_from({allvert, totvert});
   blender::bke::mesh_edges_for_write(*mesh).copy_from({alledge, totedge});
-  blender::bke::mesh_polygons_for_write(*mesh).copy_from({allpoly, totloop});
+  blender::bke::mesh_polygons_for_write(*mesh).copy_from({allpoly, totpoly});
   blender::bke::mesh_loops_for_write(*mesh).copy_from({allloop, totloop});
 
   if (alluv) {
diff --git a/source/blender/modifiers/intern/MOD_mask.cc b/source/blender/modifiers/intern/MOD_mask.cc
index 70e3d4528ce..4c7c59dc265 100644
--- a/source/blender/modifiers/intern/MOD_mask.cc
+++ b/source/blender/modifiers/intern/MOD_mask.cc
@@ -467,7 +467,7 @@ static void copy_masked_polys_to_new_mesh(const Mesh &src_mesh,
                                           int polys_masked_num)
 {
   const Span<MPoly> src_polygons = blender::bke::mesh_polygons(src_mesh);
-  const Span<MLoop> src_loops = blender::bke::mesh_loops(dst_mesh);
+  const Span<MLoop> src_loops = blender::bke::mesh_loops(src_mesh);
   MutableSpan<MPoly> dst_polygons = blender::bke::mesh_polygons_for_write(dst_mesh);
   MutableSpan<MLoop> dst_loops = blender::bke::mesh_loops_for_write(dst_mesh);
 
@@ -508,7 +508,7 @@ static void add_interpolated_polys_to_new_mesh(const Mesh &src_mesh,
                                                int edges_add_num)
 {
   const Span<MPoly> src_polygons = blender::bke::mesh_polygons(src_mesh);
-  const Span<MLoop> src_loops = blender::bke::mesh_loops(dst_mesh);
+  const Span<MLoop> src_loops = blender::bke::mesh_loops(src_mesh);
   MutableSpan<MEdge> dst_edges = blender::bke::mesh_edges_for_write(dst_mesh);
   MutableSpan<MPoly> dst_polygons = blender::bke::mesh_polygons_for_write(dst_mesh);
   MutableSpan<MLoop> dst_loops = blender::bke::mesh_loops_for_write(dst_mesh);
diff --git a/source/blender/modifiers/intern/MOD_skin.c b/source/blender/modifiers/intern/MOD_skin.c
index 10f2c3689f0..9d0df11ee88 100644
--- a/source/blender/modifiers/intern/MOD_skin.c
+++ b/source/blender/modifiers/intern/MOD_skin.c
@@ -919,7 +919,10 @@ static Mesh *subdivide_base(const Mesh *orig)
   MVert *outvert = BKE_mesh_vertices_for_write(result);
   MEdge *outedge = BKE_mesh_edges_for_write(result);
   MVertSkin *outnode = CustomData_get_layer(&result->vdata, CD_MVERT_SKIN);
-  MDeformVert *outdvert = BKE_mesh_deform_verts_for_write(result);
+  MDeformVert *outdvert = NULL;
+  if (origdvert) {
+    outdvert = BKE_mesh_deform_verts_for_write(result);
+  }
 
   /* Copy original vertex data */
   CustomData_copy_data(&orig->vdata, &result->vdata, 0, 0, orig_vert_num);



More information about the Bf-blender-cvs mailing list