[Bf-blender-cvs] [d08e6ab] master: Fix T39215: Shortest path error

Campbell Barton noreply at git.blender.org
Sun Mar 16 17:42:24 CET 2014


Commit: d08e6ab27973d7762d47126347c67012c8526035
Author: Campbell Barton
Date:   Mon Mar 17 03:41:09 2014 +1100
https://developer.blender.org/rBd08e6ab27973d7762d47126347c67012c8526035

Fix T39215: Shortest path error

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

M	source/blender/bmesh/tools/bmesh_path.c

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

diff --git a/source/blender/bmesh/tools/bmesh_path.c b/source/blender/bmesh/tools/bmesh_path.c
index 9fc1996..060d0dd 100644
--- a/source/blender/bmesh/tools/bmesh_path.c
+++ b/source/blender/bmesh/tools/bmesh_path.c
@@ -193,6 +193,14 @@ static void edgetag_add_adjacent(Heap *heap, BMEdge *e1, BMEdge **edges_prev, fl
 	const int e1_index = BM_elem_index_get(e1);
 
 	BM_ITER_ELEM (v, &viter, e1, BM_VERTS_OF_EDGE) {
+
+		/* don't walk over previous vertex */
+		if ((edges_prev[e1_index]) &&
+		    (BM_vert_in_edge(edges_prev[e1_index], v)))
+		{
+			continue;
+		}
+
 		BM_ITER_ELEM (e2, &eiter, v, BM_EDGES_OF_VERT) {
 			if (!BM_elem_flag_test(e2, BM_ELEM_TAG)) {
 				/* we know 'e2' is not visited, check it out! */




More information about the Bf-blender-cvs mailing list