[Bf-blender-cvs] [85a2a38ba77] refactor-mesh-remove-pointers: Fix bug in DispList mesh conversion

Hans Goudey noreply at git.blender.org
Wed Aug 31 23:43:58 CEST 2022


Commit: 85a2a38ba7748b152b3b08f6e1941f8b0becb93d
Author: Hans Goudey
Date:   Wed Aug 31 16:43:49 2022 -0500
Branches: refactor-mesh-remove-pointers
https://developer.blender.org/rB85a2a38ba7748b152b3b08f6e1941f8b0becb93d

Fix bug in DispList mesh conversion

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

M	source/blender/blenkernel/intern/mesh_convert.cc

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

diff --git a/source/blender/blenkernel/intern/mesh_convert.cc b/source/blender/blenkernel/intern/mesh_convert.cc
index 5a44c46e999..f9952de1250 100644
--- a/source/blender/blenkernel/intern/mesh_convert.cc
+++ b/source/blender/blenkernel/intern/mesh_convert.cc
@@ -92,6 +92,7 @@ static void make_edges_mdata_extend(Mesh &mesh)
     BKE_mesh_poly_edgehash_insert(eh, &poly, &loops[poly.loopstart]);
   }
 
+  const int totedge_old = mesh.totedge;
   const int totedge_new = BLI_edgehash_len(eh);
 
 #ifdef DEBUG
@@ -106,9 +107,9 @@ static void make_edges_mdata_extend(Mesh &mesh)
   if (totedge_new) {
     CustomData_realloc(&mesh.edata, totedge + totedge_new);
 
-    MEdge *medge = &edges[totedge];
-
     mesh.totedge += totedge_new;
+    edges = mesh.edges_for_write();
+    MEdge *medge = &edges[totedge_old];
 
     EdgeHashIterator *ehi;
     uint e_index = totedge;



More information about the Bf-blender-cvs mailing list