Fix T89342: Select mirror with a zero length central edge asserts

This commit is contained in:
Campbell Barton 2021-06-23 20:05:52 +10:00
parent 635b4db162
commit e291432f5f
Notes: blender-bot 2023-02-14 06:00:45 +01:00
Referenced by issue #89342, Select Mirror fails assert with zero-length edges when in edge-selection mode
1 changed files with 6 additions and 6 deletions

View File

@ -1222,12 +1222,12 @@ BMVert *EDBM_verts_mirror_get(BMEditMesh *em, BMVert *v)
BMEdge *EDBM_verts_mirror_get_edge(BMEditMesh *em, BMEdge *e)
{
BMVert *v1_mirr = EDBM_verts_mirror_get(em, e->v1);
if (v1_mirr) {
BMVert *v2_mirr = EDBM_verts_mirror_get(em, e->v2);
if (v2_mirr) {
return BM_edge_exists(v1_mirr, v2_mirr);
}
BMVert *v1_mirr, *v2_mirr;
if ((v1_mirr = EDBM_verts_mirror_get(em, e->v1)) &&
(v2_mirr = EDBM_verts_mirror_get(em, e->v2)) &&
/* While highly unlikely, a zero length central edges vertices can match, see T89342. */
LIKELY(v1_mirr != v2_mirr)) {
return BM_edge_exists(v1_mirr, v2_mirr);
}
return NULL;