[Bf-blender-cvs] [e291432f5f8] master: Fix T89342: Select mirror with a zero length central edge asserts

Campbell Barton noreply at git.blender.org
Wed Jun 23 12:12:39 CEST 2021


Commit: e291432f5f89e67f03e89ca59efea9004d7a8eca
Author: Campbell Barton
Date:   Wed Jun 23 20:05:52 2021 +1000
Branches: master
https://developer.blender.org/rBe291432f5f89e67f03e89ca59efea9004d7a8eca

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

===================================================================

M	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;



More information about the Bf-blender-cvs mailing list