From c9c95201d0812967e6b03d68a51721e79cd429d8 Mon Sep 17 00:00:00 2001 From: Hans Goudey Date: Thu, 28 Apr 2022 08:45:21 -0500 Subject: Fix T97679: Retrieving shape key normals modifies vertices Caused by not using the proper duplicated `MVert` array. Error in b0aaf6ff4a9731e9142d8. --- source/blender/blenkernel/intern/key.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source/blender/blenkernel') diff --git a/source/blender/blenkernel/intern/key.c b/source/blender/blenkernel/intern/key.c index 5247e9f358b..73b66edd4fb 100644 --- a/source/blender/blenkernel/intern/key.c +++ b/source/blender/blenkernel/intern/key.c @@ -2196,7 +2196,7 @@ void BKE_keyblock_mesh_calc_normals(struct KeyBlock *kb, } MVert *mvert = MEM_dupallocN(mesh->mvert); - BKE_keyblock_convert_to_mesh(kb, mesh->mvert, mesh->totvert); + BKE_keyblock_convert_to_mesh(kb, mvert, mesh->totvert); const bool loop_normals_needed = r_loopnors != NULL; const bool vert_normals_needed = r_vertnors != NULL || loop_normals_needed; @@ -2237,7 +2237,7 @@ void BKE_keyblock_mesh_calc_normals(struct KeyBlock *kb, } if (loop_normals_needed) { short(*clnors)[2] = CustomData_get_layer(&mesh->ldata, CD_CUSTOMLOOPNORMAL); /* May be NULL. */ - BKE_mesh_normals_loop_split(mesh->mvert, + BKE_mesh_normals_loop_split(mvert, vert_normals, mesh->totvert, mesh->medge, -- cgit v1.2.3