Fix T71311 Bridge Edge Loops crash when bridging cube edges

This commit will prevent the crash. It does produce a result that may not
be desirable (only briding one face of the cube), but at least it's better
than crashing.
This commit is contained in:
Sybren A. Stüvel
2020-01-23 14:39:50 +01:00
parent 1f6ab32196
commit fb0136f908

View File

@@ -828,6 +828,11 @@ static void bm_face_slice(BMesh *bm, BMLoop *l, const int cuts)
for (i = 0; i < cuts; i++) {
/* no chance of double */
BM_face_split(bm, l_new->f, l_new->prev, l_new->next->next, &l_new, NULL, false);
if (l_new == NULL) {
/* This happens when l_new->prev and l_new->next->next are adjacent. Since
* this sets l_new to NULL, we cannot continue this for-loop. */
break;
}
if (l_new->f->len < l_new->radial_next->f->len) {
l_new = l_new->radial_next;
}