Fix T58221: Spin tool w/ merge first/last crashes
Spinning geometry that included non boundary/wire edges crashed when merge first/last enabled.
This commit is contained in:
@@ -550,13 +550,14 @@ void bmo_spin_exec(BMesh *bm, BMOperator *op)
|
||||
if (elem_array[i]->head.htype == BM_EDGE) {
|
||||
BMEdge *e_src = (BMEdge *)elem_array[i];
|
||||
BMEdge *e_dst = BM_edge_find_double(e_src);
|
||||
BM_edge_splice(bm, e_dst, e_src);
|
||||
elem_array_len--;
|
||||
elem_array[i] = elem_array[elem_array_len];
|
||||
}
|
||||
else {
|
||||
i++;
|
||||
if (e_dst != NULL) {
|
||||
BM_edge_splice(bm, e_dst, e_src);
|
||||
elem_array_len--;
|
||||
elem_array[i] = elem_array[elem_array_len];
|
||||
continue;
|
||||
}
|
||||
}
|
||||
i++;
|
||||
}
|
||||
/* Full copies of faces may cause overlap. */
|
||||
for (int i = 0; i < elem_array_len; ) {
|
||||
|
||||
Reference in New Issue
Block a user