Commit: a0799ce33680ff9eea6afeb41b14a66db14f7a20
Author: Campbell Barton
Date:   Fri Apr 7 11:43:50 2017 +1000
Branches: master
https://developer.blender.org/rBa0799ce33680ff9eea6afeb41b14a66db14f7a20

Fix T51137: Edge Rip Hangs

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

M       source/blender/bmesh/intern/bmesh_core.c

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

diff --git a/source/blender/bmesh/intern/bmesh_core.c 
b/source/blender/bmesh/intern/bmesh_core.c
index cee5450a37d..4fe14fdf5c9 100644
--- a/source/blender/bmesh/intern/bmesh_core.c
+++ b/source/blender/bmesh/intern/bmesh_core.c
@@ -2403,15 +2403,20 @@ static void bmesh_kernel_vert_separate__cleanup(BMesh 
*bm, LinkNode *edges_separ
        do {
                LinkNode *n_orig = edges_separate->link;
                do {
-                       BMEdge *e_orig = n_orig->link;
+                       LinkNode *n_prev = n_orig;
                        LinkNode *n_step = n_orig->next;
+                       BMEdge *e_orig = n_orig->link;
                        do {
                                BMEdge *e = n_step->link;
                                BLI_assert(e != e_orig);
-                               if ((e->v1 == e_orig->v1) && (e->v2 == 
e_orig->v2)) {
-                                       BM_edge_splice(bm, e_orig, e);
+                               if ((e->v1 == e_orig->v1) && (e->v2 == 
e_orig->v2) &&
+                                   BM_edge_splice(bm, e_orig, e))
+                               {
+                                       /* don't visit again */
+                                       n_prev->next = n_step->next;
                                }
-                       } while ((n_step = n_step->next));
+                       } while ((n_prev = n_step),
+                                (n_step = n_step->next));
 
                } while ((n_orig = n_orig->next) && n_orig->next);
        } while ((edges_separate = edges_separate->next));

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to