Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2015-11-20 00:14:49 +0300
committerCampbell Barton <ideasman42@gmail.com>2015-11-20 00:22:44 +0300
commit410ca0ed92b8922d11499208c2da9a52ffde18e1 (patch)
tree22334b76a39f746986d38a1e21d220fa1ba27757 /source
parent29d9140fcee26b9c1df31022294f5f6f89f5dbeb (diff)
Recent change to bmesh_jekv caused assert
Note that the mesh was valid, this just stops the radial check from failing.
Diffstat (limited to 'source')
-rw-r--r--source/blender/bmesh/intern/bmesh_core.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/source/blender/bmesh/intern/bmesh_core.c b/source/blender/bmesh/intern/bmesh_core.c
index f82b09d48ae..17e3cf6ea4c 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);