[Bf-blender-cvs] [07b525f] master: Remove alloc checks in laplaciansmooth

Campbell Barton noreply at git.blender.org
Tue Aug 4 15:00:05 CEST 2015


Commit: 07b525ffe27230a511fc1ce46a373ef7e0699f6c
Author: Campbell Barton
Date:   Tue Aug 4 22:31:32 2015 +1000
Branches: master
https://developer.blender.org/rB07b525ffe27230a511fc1ce46a373ef7e0699f6c

Remove alloc checks in laplaciansmooth

These arrays aren't especially big or likely to fail.

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

M	source/blender/modifiers/intern/MOD_laplaciansmooth.c

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

diff --git a/source/blender/modifiers/intern/MOD_laplaciansmooth.c b/source/blender/modifiers/intern/MOD_laplaciansmooth.c
index 5578e9d..f04e092 100644
--- a/source/blender/modifiers/intern/MOD_laplaciansmooth.c
+++ b/source/blender/modifiers/intern/MOD_laplaciansmooth.c
@@ -85,7 +85,6 @@ static float compute_volume(const float center[3], float (*vertexCos)[3], const
 static LaplacianSystem *init_laplacian_system(int a_numEdges, int a_numPolys, int a_numLoops, int a_numVerts);
 static void copy_data(ModifierData *md, ModifierData *target);
 static void delete_laplacian_system(LaplacianSystem *sys);
-static void delete_void_pointer(void *data);
 static void fill_laplacian_matrix(LaplacianSystem *sys);
 static void init_data(ModifierData *md);
 static void init_laplacian_matrix(LaplacianSystem *sys);
@@ -93,23 +92,17 @@ static void memset_laplacian_system(LaplacianSystem *sys, int val);
 static void volume_preservation(LaplacianSystem *sys, float vini, float vend, short flag);
 static void validate_solution(LaplacianSystem *sys, short flag, float lambda, float lambda_border);
 
-static void delete_void_pointer(void *data)
-{
-	if (data) {
-		MEM_freeN(data);
-	}
-}
-
 static void delete_laplacian_system(LaplacianSystem *sys)
 {
-	delete_void_pointer(sys->eweights);
-	delete_void_pointer(sys->fweights);
-	delete_void_pointer(sys->numNeEd);
-	delete_void_pointer(sys->numNeFa);
-	delete_void_pointer(sys->ring_areas);
-	delete_void_pointer(sys->vlengths);
-	delete_void_pointer(sys->vweights);
-	delete_void_pointer(sys->zerola);
+	MEM_SAFE_FREE(sys->eweights);
+	MEM_SAFE_FREE(sys->fweights);
+	MEM_SAFE_FREE(sys->numNeEd);
+	MEM_SAFE_FREE(sys->numNeFa);
+	MEM_SAFE_FREE(sys->ring_areas);
+	MEM_SAFE_FREE(sys->vlengths);
+	MEM_SAFE_FREE(sys->vweights);
+	MEM_SAFE_FREE(sys->zerola);
+
 	if (sys->context) {
 		nlDeleteContext(sys->context);
 	}
@@ -141,53 +134,14 @@ static LaplacianSystem *init_laplacian_system(int a_numEdges, int a_numPolys, in
 	sys->numLoops = a_numLoops;
 	sys->numVerts = a_numVerts;
 
-	sys->eweights =  MEM_callocN(sizeof(float) * sys->numEdges, "ModLaplSmoothEWeight");
-	if (!sys->eweights) {
-		delete_laplacian_system(sys);
-		return NULL;
-	}
-
-	sys->fweights =  MEM_callocN(sizeof(float[3]) * sys->numLoops, "ModLaplSmoothFWeight");
-	if (!sys->fweights) {
-		delete_laplacian_system(sys);
-		return NULL;
-	}
-
-	sys->numNeEd =  MEM_callocN(sizeof(short) * sys->numVerts, "ModLaplSmoothNumNeEd");
-	if (!sys->numNeEd) {
-		delete_laplacian_system(sys);
-		return NULL;
-	}
-
-	sys->numNeFa =  MEM_callocN(sizeof(short) * sys->numVerts, "ModLaplSmoothNumNeFa");
-	if (!sys->numNeFa) {
-		delete_laplacian_system(sys);
-		return NULL;
-	}
-
-	sys->ring_areas =  MEM_callocN(sizeof(float) * sys->numVerts, "ModLaplSmoothRingAreas");
-	if (!sys->ring_areas) {
-		delete_laplacian_system(sys);
-		return NULL;
-	}
-
-	sys->vlengths =  MEM_callocN(sizeof(float) * sys->numVerts, "ModLaplSmoothVlengths");
-	if (!sys->vlengths) {
-		delete_laplacian_system(sys);
-		return NULL;
-	}
-
-	sys->vweights =  MEM_callocN(sizeof(float) * sys->numVerts, "ModLaplSmoothVweights");
-	if (!sys->vweights) {
-		delete_laplacian_system(sys);
-		return NULL;
-	}
-
-	sys->zerola =  MEM_callocN(sizeof(short) * sys->numVerts, "ModLaplSmoothZeloa");
-	if (!sys->zerola) {
-		delete_laplacian_system(sys);
-		return NULL;
-	}
+	sys->eweights =  MEM_callocN(sizeof(float) * sys->numEdges, __func__);
+	sys->fweights =  MEM_callocN(sizeof(float[3]) * sys->numLoops, __func__);
+	sys->numNeEd =  MEM_callocN(sizeof(short) * sys->numVerts, __func__);
+	sys->numNeFa =  MEM_callocN(sizeof(short) * sys->numVerts, __func__);
+	sys->ring_areas =  MEM_callocN(sizeof(float) * sys->numVerts, __func__);
+	sys->vlengths =  MEM_callocN(sizeof(float) * sys->numVerts, __func__);
+	sys->vweights =  MEM_callocN(sizeof(float) * sys->numVerts, __func__);
+	sys->zerola =  MEM_callocN(sizeof(short) * sys->numVerts, __func__);
 
 	return sys;
 }




More information about the Bf-blender-cvs mailing list