[Bf-blender-cvs] [c12ed3b] shapekeys-normals: Tweak as suggested by Campbell in review.

Bastien Montagne noreply at git.blender.org
Mon Oct 12 20:11:05 CEST 2015


Commit: c12ed3b9aecf506f8ae3fd863f857fa2b7dad781
Author: Bastien Montagne
Date:   Mon Oct 12 20:10:38 2015 +0200
Branches: shapekeys-normals
https://developer.blender.org/rBc12ed3b9aecf506f8ae3fd863f857fa2b7dad781

Tweak as suggested by Campbell in review.

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

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

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

diff --git a/source/blender/blenkernel/intern/key.c b/source/blender/blenkernel/intern/key.c
index ab90c93..362f413 100644
--- a/source/blender/blenkernel/intern/key.c
+++ b/source/blender/blenkernel/intern/key.c
@@ -1814,46 +1814,45 @@ void BKE_keyblock_mesh_calc_normals(
         float (*r_vertnors)[3], float (*r_polynors)[3], float (*r_loopnors)[3])
 {
 	/* We use a temp, shallow copy of mesh to work. */
-	Mesh *me;
+	Mesh me;
 	bool free_polynors = false;
 
 	if (r_vertnors == NULL && r_polynors == NULL && r_loopnors == NULL) {
 		return;
 	}
 
-	me = MEM_dupallocN(mesh);
-	me->mvert = MEM_dupallocN(mesh->mvert);
-	CustomData_reset(&me->vdata);
-	CustomData_reset(&me->edata);
-	CustomData_reset(&me->pdata);
-	CustomData_reset(&me->ldata);
-	CustomData_reset(&me->fdata);
+	me = *mesh;
+	me.mvert = MEM_dupallocN(mesh->mvert);
+	CustomData_reset(&me.vdata);
+	CustomData_reset(&me.edata);
+	CustomData_reset(&me.pdata);
+	CustomData_reset(&me.ldata);
+	CustomData_reset(&me.fdata);
 
-	BKE_keyblock_convert_to_mesh(kb, me);
+	BKE_keyblock_convert_to_mesh(kb, &me);
 
 	if (r_polynors == NULL && r_loopnors != NULL) {
-		r_polynors = MEM_mallocN(sizeof(float[3]) * me->totpoly, __func__);
+		r_polynors = MEM_mallocN(sizeof(float[3]) * me.totpoly, __func__);
 		free_polynors = true;
 	}
 	BKE_mesh_calc_normals_poly(
-	            me->mvert, r_vertnors, me->totvert, me->mloop, me->mpoly, me->totloop, me->totpoly, r_polynors, false);
+	            me.mvert, r_vertnors, me.totvert, me.mloop, me.mpoly, me.totloop, me.totpoly, r_polynors, false);
 
 	if (r_loopnors) {
 		short (*clnors)[2] = CustomData_get_layer(&mesh->ldata, CD_CUSTOMLOOPNORMAL);  /* May be NULL. */
 
 		BKE_mesh_normals_loop_split(
-		        me->mvert, me->totvert, me->medge, me->totedge,
-		        me->mloop, r_loopnors, me->totloop, me->mpoly, r_polynors, me->totpoly,
-		        (me->flag & ME_AUTOSMOOTH) != 0, me->smoothresh, NULL, clnors, NULL);
-	}
-
-	CustomData_free(&me->vdata, me->totvert);
-	CustomData_free(&me->edata, me->totedge);
-	CustomData_free(&me->pdata, me->totpoly);
-	CustomData_free(&me->ldata, me->totloop);
-	CustomData_free(&me->fdata, me->totface);
-	MEM_freeN(me->mvert);
-	MEM_freeN(me);
+		        me.mvert, me.totvert, me.medge, me.totedge,
+		        me.mloop, r_loopnors, me.totloop, me.mpoly, r_polynors, me.totpoly,
+		        (me.flag & ME_AUTOSMOOTH) != 0, me.smoothresh, NULL, clnors, NULL);
+	}
+
+	CustomData_free(&me.vdata, me.totvert);
+	CustomData_free(&me.edata, me.totedge);
+	CustomData_free(&me.pdata, me.totpoly);
+	CustomData_free(&me.ldata, me.totloop);
+	CustomData_free(&me.fdata, me.totface);
+	MEM_freeN(me.mvert);
 
 	if (free_polynors) {
 		MEM_freeN(r_polynors);




More information about the Bf-blender-cvs mailing list