[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42131] trunk/blender/source/blender/ blenkernel/intern/CCGSubSurf.c: Fix #29366: multires crash with meshes that had verts/edges not connected to any face.
Brecht Van Lommel
brechtvanlommel at pandora.be
Thu Nov 24 18:06:51 CET 2011
Revision: 42131
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42131
Author: blendix
Date: 2011-11-24 17:06:50 +0000 (Thu, 24 Nov 2011)
Log Message:
-----------
Fix #29366: multires crash with meshes that had verts/edges not connected to any face.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/CCGSubSurf.c
Modified: trunk/blender/source/blender/blenkernel/intern/CCGSubSurf.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/CCGSubSurf.c 2011-11-24 17:03:44 UTC (rev 42130)
+++ trunk/blender/source/blender/blenkernel/intern/CCGSubSurf.c 2011-11-24 17:06:50 UTC (rev 42131)
@@ -2301,14 +2301,16 @@
/* zero */
for (i=0; i<numEffectedV; i++) {
CCGVert *v = effectedV[i];
- VertDataZero(VERT_getCo(v, lvl));
+ if(v->numFaces)
+ VertDataZero(VERT_getCo(v, lvl));
}
for (i=0; i<numEffectedE; i++) {
CCGEdge *e = effectedE[i];
- for (x=0; x<edgeSize; x++)
- VertDataZero(EDGE_getCo(e, lvl, x));
+ if(e->numFaces)
+ for (x=0; x<edgeSize; x++)
+ VertDataZero(EDGE_getCo(e, lvl, x));
}
/* add */
@@ -2349,7 +2351,8 @@
/* average */
for (i=0; i<numEffectedV; i++) {
CCGVert *v = effectedV[i];
- VertDataMulN(VERT_getCo(v, lvl), 1.0f/v->numFaces);
+ if(v->numFaces)
+ VertDataMulN(VERT_getCo(v, lvl), 1.0f/v->numFaces);
}
for (i=0; i<numEffectedE; i++) {
@@ -2358,8 +2361,9 @@
VertDataCopy(EDGE_getCo(e, lvl, 0), VERT_getCo(e->v0, lvl));
VertDataCopy(EDGE_getCo(e, lvl, edgeSize-1), VERT_getCo(e->v1, lvl));
- for (x=1; x<edgeSize-1; x++)
- VertDataMulN(EDGE_getCo(e, lvl, x), 1.0f/e->numFaces);
+ if(e->numFaces)
+ for (x=1; x<edgeSize-1; x++)
+ VertDataMulN(EDGE_getCo(e, lvl, x), 1.0f/e->numFaces);
}
/* copy */
More information about the Bf-blender-cvs
mailing list