[Bf-blender-cvs] [c9c95201d08] master: Fix T97679: Retrieving shape key normals modifies vertices

Hans Goudey noreply at git.blender.org
Thu Apr 28 15:45:54 CEST 2022


Commit: c9c95201d0812967e6b03d68a51721e79cd429d8
Author: Hans Goudey
Date:   Thu Apr 28 08:45:21 2022 -0500
Branches: master
https://developer.blender.org/rBc9c95201d0812967e6b03d68a51721e79cd429d8

Fix T97679: Retrieving shape key normals modifies vertices

Caused by not using the proper duplicated `MVert` array.
Error in b0aaf6ff4a9731e9142d8.

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

M	source/blender/blenkernel/intern/key.c

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

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,



More information about the Bf-blender-cvs mailing list