Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeoffrey Bantle <hairbat@yahoo.com>2011-06-22 04:34:08 +0400
committerGeoffrey Bantle <hairbat@yahoo.com>2011-06-22 04:34:08 +0400
commit1bb763922da9a3e82110450550979b080b2d94e3 (patch)
treed1f1916390fa1b3eddadfb1173ab7c4da0e52c37 /source/blender/modifiers/intern/MOD_decimate.c
parent4cc347c93c0afa2a28fb5ac932631ec3ac54094b (diff)
Fix for decimator:
---------------------------------------------- Patch for making faces stop dissapearing when using the decimator submitted by howardt in IRC. Also fixed crash for when input mesh had less than three triangles
Diffstat (limited to 'source/blender/modifiers/intern/MOD_decimate.c')
-rw-r--r--source/blender/modifiers/intern/MOD_decimate.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/source/blender/modifiers/intern/MOD_decimate.c b/source/blender/modifiers/intern/MOD_decimate.c
index 22c43d5e46a..408cc479241 100644
--- a/source/blender/modifiers/intern/MOD_decimate.c
+++ b/source/blender/modifiers/intern/MOD_decimate.c
@@ -98,7 +98,8 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *UNUSED(ob),
if(numTris<3) {
modifier_setError(md,
"Modifier requires more than 3 input faces (triangles).");
- goto exit;
+ dm = CDDM_copy(dm, 0);
+ return dm;
}
lod.vertex_buffer= MEM_mallocN(3*sizeof(float)*totvert, "vertices");
@@ -169,7 +170,6 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *UNUSED(ob),
}
CDDM_calc_edges(result);
- CDDM_calc_normals(result);
}
else
modifier_setError(md, "Out of memory.");
@@ -183,9 +183,8 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *UNUSED(ob),
MEM_freeN(lod.vertex_normal_buffer);
MEM_freeN(lod.triangle_index_buffer);
-exit:
-
dm = CDDM_copy(result, 1); /*builds ngon faces from tess (mface) faces*/
+ CDDM_calc_normals(result);
result->needsFree = 1;
result->release(result);