[Bf-blender-cvs] [410ca0e] master: Recent change to bmesh_jekv caused assert
Campbell Barton
noreply at git.blender.org
Thu Nov 19 22:29:59 CET 2015
Commit: 410ca0ed92b8922d11499208c2da9a52ffde18e1
Author: Campbell Barton
Date: Fri Nov 20 08:14:49 2015 +1100
Branches: master
https://developer.blender.org/rB410ca0ed92b8922d11499208c2da9a52ffde18e1
Recent change to bmesh_jekv caused assert
Note that the mesh was valid, this just stops the radial check from failing.
===================================================================
M source/blender/bmesh/intern/bmesh_core.c
===================================================================
diff --git a/source/blender/bmesh/intern/bmesh_core.c b/source/blender/bmesh/intern/bmesh_core.c
index f82b09d..17e3cf6 100644
--- a/source/blender/bmesh/intern/bmesh_core.c
+++ b/source/blender/bmesh/intern/bmesh_core.c
@@ -1744,6 +1744,8 @@ BMEdge *bmesh_jekv(
}
else {
BMEdge *e_splice;
+ BLI_SMALLSTACK_DECLARE(faces_degenerate, BMFace *);
+ BMLoop *l_kill_next;
#ifndef NDEBUG
/* For verification later, count valence of v_old and tv */
@@ -1765,8 +1767,7 @@ BMEdge *bmesh_jekv(
radlen = bmesh_radial_length(e_kill->l);
#endif
if (e_kill->l) {
- BLI_SMALLSTACK_DECLARE(faces_degenerate, BMFace *);
- BMLoop *l_kill_next;
+
/* fix the neighboring loops of all loops in e_kill's radial cycle */
l_kill = e_kill->l;
@@ -1800,12 +1801,6 @@ BMEdge *bmesh_jekv(
edok = bmesh_radial_validate(radlen, e_old->l);
BMESH_ASSERT(edok != false);
#endif
- if (kill_degenerate_faces) {
- BMFace *f_kill;
- while ((f_kill = BLI_SMALLSTACK_POP(faces_degenerate))) {
- BM_face_kill(bm, f_kill);
- }
- }
}
/* deallocate edge */
bm_kill_only_edge(bm, e_kill);
@@ -1839,7 +1834,6 @@ BMEdge *bmesh_jekv(
BM_CHECK_ELEMENT(l->f);
}
#endif
-
if (check_edge_double) {
if (e_splice) {
/* removes e_splice */
@@ -1847,6 +1841,13 @@ BMEdge *bmesh_jekv(
}
}
+ if (kill_degenerate_faces) {
+ BMFace *f_kill;
+ while ((f_kill = BLI_SMALLSTACK_POP(faces_degenerate))) {
+ BM_face_kill(bm, f_kill);
+ }
+ }
+
BM_CHECK_ELEMENT(v_old);
BM_CHECK_ELEMENT(tv);
BM_CHECK_ELEMENT(e_old);
More information about the Bf-blender-cvs
mailing list