Commit: af2d2d4dff77a1436b26007b5aa183075d91d537
Author: Campbell Barton
Date:   Tue Feb 5 13:25:55 2019 +1100
Branches: master
https://developer.blender.org/rBaf2d2d4dff77a1436b26007b5aa183075d91d537

Fix T58221: Spin tool w/ merge first/last crashes

Spinning geometry that included non boundary/wire edges
crashed when merge first/last enabled.

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

M       source/blender/bmesh/operators/bmo_dupe.c

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

diff --git a/source/blender/bmesh/operators/bmo_dupe.c 
b/source/blender/bmesh/operators/bmo_dupe.c
index 5129212f49b..3a07c81129f 100644
--- a/source/blender/bmesh/operators/bmo_dupe.c
+++ b/source/blender/bmesh/operators/bmo_dupe.c
@@ -550,13 +550,14 @@ void bmo_spin_exec(BMesh *bm, BMOperator *op)
                                        if (elem_array[i]->head.htype == 
BM_EDGE) {
                                                BMEdge *e_src = (BMEdge 
*)elem_array[i];
                                                BMEdge *e_dst = 
BM_edge_find_double(e_src);
-                                               BM_edge_splice(bm, e_dst, 
e_src);
-                                               elem_array_len--;
-                                               elem_array[i] = 
elem_array[elem_array_len];
-                                       }
-                                       else {
-                                               i++;
+                                               if (e_dst != NULL) {
+                                                       BM_edge_splice(bm, 
e_dst, e_src);
+                                                       elem_array_len--;
+                                                       elem_array[i] = 
elem_array[elem_array_len];
+                                                       continue;
+                                               }
                                        }
+                                       i++;
                                }
                                /* Full copies of faces may cause overlap. */
                                for (int i = 0; i < elem_array_len; ) {

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

Reply via email to