[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [41375] branches/bmesh/blender/source/ blender/bmesh/operators/edgesplitop.c: Remove an edge split workaround and replace with faster, better fix for 28669
Andrew Wiggin
ender79bl at gmail.com
Sun Oct 30 04:33:12 CET 2011
Revision: 41375
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41375
Author: ender79
Date: 2011-10-30 03:33:08 +0000 (Sun, 30 Oct 2011)
Log Message:
-----------
Remove an edge split workaround and replace with faster, better fix for 28669
Modified Paths:
--------------
branches/bmesh/blender/source/blender/bmesh/operators/edgesplitop.c
Modified: branches/bmesh/blender/source/blender/bmesh/operators/edgesplitop.c
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/operators/edgesplitop.c 2011-10-30 02:15:32 UTC (rev 41374)
+++ branches/bmesh/blender/source/blender/bmesh/operators/edgesplitop.c 2011-10-30 03:33:08 UTC (rev 41375)
@@ -187,6 +187,11 @@
}
}
+ /* If the original edge was non-manifold edges, then it is
+ possible l->e is not et->newe1 or et->newe2. So always clear
+ the flag on l->e as well, to prevent infinite looping. */
+ BMO_ClearFlag(bm, l->e, EDGE_SEAM);
+
startl = l;
do {
l = BM_OtherFaceLoop(l->e, l->f, v);
@@ -201,25 +206,6 @@
}
v = (l->v == v) ? l->next->v : l->v;
-
- /*
- * temporary workaround for #28869: this inner loop is hanging
- * on loading some file with edge split modifier. the loop visits
- * vertices, and shouldn't execute more iterations than there are
- * vertices in the mesh.
- *
- * clear tags and bail if things start to seem flaky.
- */
- if (++j > bm->totvert) {
- BLI_assert(0);
-
- BM_ITER(e, &iter, bm, BM_EDGES_OF_MESH, NULL) {
- BMO_SetFlag(bm, e, EDGE_RET1);
- BMO_SetFlag(bm, e, EDGE_RET2);
- }
-
- return;
- }
}
}
}
More information about the Bf-blender-cvs
mailing list