[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [56694] trunk/blender/source/blender/bmesh /operators/bmo_bridge.c: fix for 2 crashes in bridge tool mixing open/ closed loops with different vertex counts.

Campbell Barton ideasman42 at gmail.com
Sun May 12 06:08:46 CEST 2013


Revision: 56694
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56694
Author:   campbellbarton
Date:     2013-05-12 04:08:45 +0000 (Sun, 12 May 2013)
Log Message:
-----------
fix for 2 crashes in bridge tool mixing open/closed loops with different vertex counts.

Modified Paths:
--------------
    trunk/blender/source/blender/bmesh/operators/bmo_bridge.c

Modified: trunk/blender/source/blender/bmesh/operators/bmo_bridge.c
===================================================================
--- trunk/blender/source/blender/bmesh/operators/bmo_bridge.c	2013-05-12 03:36:41 UTC (rev 56693)
+++ trunk/blender/source/blender/bmesh/operators/bmo_bridge.c	2013-05-12 04:08:45 UTC (rev 56694)
@@ -164,9 +164,11 @@
 				LinkData *el;
 				for (el = BM_edgeloop_verts_get(estore_pair[i])->first; el; el = el->next) {
 					LinkData *el_next = BM_EDGELOOP_NEXT(estore_pair[i], el);
-					BMEdge *e = BM_edge_exists(el->data, el_next->data);
-					if (e && BM_edge_is_boundary(e)) {
-						winding_votes += ((e->l->v == el->data) ? winding_dir : -winding_dir);
+					if (el_next) {
+						BMEdge *e = BM_edge_exists(el->data, el_next->data);
+						if (e && BM_edge_is_boundary(e)) {
+							winding_votes += ((e->l->v == el->data) ? winding_dir : -winding_dir);
+						}
 					}
 				}
 			}
@@ -318,7 +320,7 @@
 
 				if (l_1)      BM_elem_attrs_copy(bm, bm, l_1,      l_iter); l_iter = l_iter->next;
 				if (l_2)      BM_elem_attrs_copy(bm, bm, l_2,      l_iter); l_iter = l_iter->next;
-				if (l_2_next) BM_elem_attrs_copy(bm, bm, l_1_next, l_iter);
+				if (l_1_next) BM_elem_attrs_copy(bm, bm, l_1_next, l_iter);
 			}
 
 			if (el_a_next == el_a_first) {




More information about the Bf-blender-cvs mailing list