[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [14271] trunk/blender/source/blender/ blenkernel/intern/modifier.c: Tools
Ken Hughes
khughes at pacific.edu
Fri Mar 28 18:03:35 CET 2008
Revision: 14271
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14271
Author: khughes
Date: 2008-03-28 18:03:34 +0100 (Fri, 28 Mar 2008)
Log Message:
-----------
Tools
-----
Bugfix #6961: in certain circumstances, array modifier would use deleted
copies of merged vertices, resulting in memory corruption and crashes.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/modifier.c
Modified: trunk/blender/source/blender/blenkernel/intern/modifier.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/modifier.c 2008-03-28 14:55:49 UTC (rev 14270)
+++ trunk/blender/source/blender/blenkernel/intern/modifier.c 2008-03-28 17:03:34 UTC (rev 14271)
@@ -873,6 +873,9 @@
MTC_Mat4MulVecfl(offset, tmp_co);
for(j = 0; j < maxVerts; j++) {
+ /* if vertex already merged, don't use it */
+ if( indexMap[j].merge != -1 ) continue;
+
inMV = &src_mvert[j];
/* if this vert is within merge limit, merge */
if(VecLenCompare(tmp_co, inMV->co, amd->merge_dist)) {
@@ -1032,7 +1035,8 @@
numFaces++;
/* if the face has fewer than 3 vertices, don't create it */
- if(mf2->v3 == 0 || (mf->v1 && (mf->v1 == mf->v3 || mf->v1 == mf->v4))) {
+ if(mf2->v3 == 0 || (mf2->v1 && (mf2->v1 == mf2->v3 || mf2->v1 ==
+mf2->v4))) {
numFaces--;
DM_free_face_data(result, numFaces, 1);
}
More information about the Bf-blender-cvs
mailing list