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:
authormano-wii <germano.costa@ig.com.br>2019-08-29 02:04:26 +0300
committermano-wii <germano.costa@ig.com.br>2019-08-29 02:04:26 +0300
commit7aed8f69d14db5b9d8c438c126f552c85ecb274e (patch)
treea7f313adfe15924259bf1c20d9a2c950a78c4663 /source/blender/editors/mesh/editmesh_automerge.c
parenta7ac8a22f8ebcd3bcd94cf86b098e310fafd39fc (diff)
Fix possible endless loop in AutoMerge and Split
Diffstat (limited to 'source/blender/editors/mesh/editmesh_automerge.c')
-rw-r--r--source/blender/editors/mesh/editmesh_automerge.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/editors/mesh/editmesh_automerge.c b/source/blender/editors/mesh/editmesh_automerge.c
index 57c8c0f7fa8..0ca86e2f4eb 100644
--- a/source/blender/editors/mesh/editmesh_automerge.c
+++ b/source/blender/editors/mesh/editmesh_automerge.c
@@ -198,6 +198,11 @@ static void edbm_automerge_weld_linked_wire_edges_into_linked_faces(BMesh *bm,
}
edgenet[edgenet_len++] = e;
v_other = BM_edge_other_vert(e, v_other);
+ if (v_other == v) {
+ /* Endless loop. */
+ break;
+ }
+
BMEdge *e_next = BM_DISK_EDGE_NEXT(e, v_other);
if (e_next == e) {
/* Vert is wire_endpoint */