From e291432f5f89e67f03e89ca59efea9004d7a8eca Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 23 Jun 2021 20:05:52 +1000 Subject: Fix T89342: Select mirror with a zero length central edge asserts --- source/blender/editors/mesh/editmesh_utils.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'source/blender/editors/mesh/editmesh_utils.c') diff --git a/source/blender/editors/mesh/editmesh_utils.c b/source/blender/editors/mesh/editmesh_utils.c index cd3d84535c9..9c97bdd6fde 100644 --- a/source/blender/editors/mesh/editmesh_utils.c +++ b/source/blender/editors/mesh/editmesh_utils.c @@ -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; -- cgit v1.2.3