From e4c763ff239eeec5a3314f37b070e27cb93ea32a Mon Sep 17 00:00:00 2001 From: Namit Bhutani Date: Tue, 12 Aug 2025 23:09:07 +0200 Subject: [PATCH] Fix: Sculpt spatial reodering crash after recent fix Caused by #144388. Move the for loop such that isolated vertices are processed in the end, after the face groups are done processing their vertices. Pull Request: https://projects.blender.org/blender/blender/pulls/144463 --- source/blender/blenkernel/intern/mesh.cc | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/source/blender/blenkernel/intern/mesh.cc b/source/blender/blenkernel/intern/mesh.cc index 6e133f8d325..5512ce25bd5 100644 --- a/source/blender/blenkernel/intern/mesh.cc +++ b/source/blender/blenkernel/intern/mesh.cc @@ -858,19 +858,19 @@ void mesh_apply_spatial_organization(Mesh &mesh) } } - for (const int vert : IndexRange(mesh.verts_num)) { - if (!added_verts[vert]) { - new_vert_order.append(vert); - added_verts[vert].set(); - } - } - for (const int face_idx : local_group.faces) { new_face_order.append(face_idx); } group_face_offsets.append(new_face_order.size()); } + for (const int vert : IndexRange(mesh.verts_num)) { + if (!added_verts[vert]) { + new_vert_order.append(vert); + added_verts[vert].set(); + } + } + Array vert_reverse_map(mesh.verts_num); for (const int i : IndexRange(mesh.verts_num)) { vert_reverse_map[new_vert_order[i]] = i;