BMesh: correct fix for face-join removing attached faces

This commit is contained in:
Campbell Barton 2016-05-11 20:09:40 +10:00
parent de72dcadbb
commit 4a135ad2b7

@ -1288,7 +1288,7 @@ BMFace *BM_faces_join(BMesh *bm, BMFace **faces, int totface, const bool do_del)
if (!d1 && !d2 && !BM_ELEM_API_FLAG_TEST(l_iter->e, _FLAG_JF)) { if (!d1 && !d2 && !BM_ELEM_API_FLAG_TEST(l_iter->e, _FLAG_JF)) {
/* don't remove an edge it makes up the side of another face /* don't remove an edge it makes up the side of another face
* else this will remove the face as well - campbell */ * else this will remove the face as well - campbell */
if (!BM_edge_face_count_is_over(l_iter->e, 3)) { if (!BM_edge_face_count_is_over(l_iter->e, 2)) {
if (do_del) { if (do_del) {
BLI_array_append(deledges, l_iter->e); BLI_array_append(deledges, l_iter->e);
} }
@ -1399,9 +1399,7 @@ BMFace *BM_faces_join(BMesh *bm, BMFace **faces, int totface, const bool do_del)
/* delete old geometry */ /* delete old geometry */
if (do_del) { if (do_del) {
for (i = 0; i < BLI_array_count(deledges); i++) { for (i = 0; i < BLI_array_count(deledges); i++) {
if (deledges[i]->l == NULL) { BM_edge_kill(bm, deledges[i]);
BM_edge_kill(bm, deledges[i]);
}
} }
for (i = 0; i < BLI_array_count(delverts); i++) { for (i = 0; i < BLI_array_count(delverts); i++) {