[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42380] branches/bmesh/blender/source/ blender/bmesh: bmesh: fixed crash in bevel
Joseph Eagar
joeedh at gmail.com
Sun Dec 4 01:44:19 CET 2011
Revision: 42380
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42380
Author: joeedh
Date: 2011-12-04 00:44:09 +0000 (Sun, 04 Dec 2011)
Log Message:
-----------
bmesh: fixed crash in bevel
Modified Paths:
--------------
branches/bmesh/blender/source/blender/bmesh/bmesh_class.h
branches/bmesh/blender/source/blender/bmesh/operators/bevel.c
Modified: branches/bmesh/blender/source/blender/bmesh/bmesh_class.h
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/bmesh_class.h 2011-12-03 23:33:07 UTC (rev 42379)
+++ branches/bmesh/blender/source/blender/bmesh/bmesh_class.h 2011-12-04 00:44:09 UTC (rev 42380)
@@ -98,6 +98,7 @@
int _index; /*used for sorting during tesselation*/
} BMLoop;
+/*eventually, this structure will be used for supporting holes in faces*/
typedef struct BMLoopList {
struct BMLoopList *next, *prev;
struct BMLoop *first, *last;
Modified: branches/bmesh/blender/source/blender/bmesh/operators/bevel.c
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/operators/bevel.c 2011-12-03 23:33:07 UTC (rev 42379)
+++ branches/bmesh/blender/source/blender/bmesh/operators/bevel.c 2011-12-04 00:44:09 UTC (rev 42380)
@@ -288,7 +288,7 @@
}
bm->elem_index_dirty |= BM_EDGE;
-
+
BM_ITER(v, &iter, bm, BM_VERTS_OF_MESH, NULL) {
BMIter eiter;
@@ -563,9 +563,9 @@
BMVert *vv, *vstart=NULL, *lastv=NULL;
SmallHash tmphash;
int rad, insorig=0, err=0;
-
+
BLI_smallhash_init(&tmphash);
-
+
if (!BMO_TestFlag(bm, v, BEVEL_FLAG))
continue;
@@ -580,6 +580,9 @@
if (BM_Edge_FaceCount(e) < 2)
insorig = 1;
+ if (BM_GetIndex(e) == -1)
+ continue;
+
rad = 0;
BM_ITER(l, &liter, bm, BM_LOOPS_OF_EDGE, e) {
if (!BMO_TestFlag(bm, l->f, FACE_OLD))
More information about the Bf-blender-cvs
mailing list