Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2021-06-23 13:05:52 +0300
committerCampbell Barton <ideasman42@gmail.com>2021-06-23 13:07:19 +0300
commite291432f5f89e67f03e89ca59efea9004d7a8eca (patch)
tree8805a86aa4fb307240e1f1aea0e19e10643dfa18 /source/blender/editors/mesh
parent635b4db162731a100c255faa11ca9e2bd40d7d93 (diff)
Fix T89342: Select mirror with a zero length central edge asserts
Diffstat (limited to 'source/blender/editors/mesh')
-rw-r--r--source/blender/editors/mesh/editmesh_utils.c12
1 files changed, 6 insertions, 6 deletions
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;