Recent change to bmesh_jekv caused assert

Note that the mesh was valid, this just stops the radial check from failing.
This commit is contained in:
Campbell Barton
2015-11-20 08:14:49 +11:00
parent 29d9140fce
commit 410ca0ed92

View File

@@ -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);