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:
parent
445433a691
commit
af2d2d4dff
Notes:
blender-bot
2023-02-14 04:54:15 +01:00
Referenced by issue #58221, Blender crashes on "spin tool" use
|
@ -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; ) {
|
||||
|
|
Loading…
Reference in New Issue