[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [44878] trunk/blender/source/blender/bmesh /intern/bmesh_walkers_impl.c: fix hang when loop selecting an ngon.
Antony Riakiotakis
kalast at gmail.com
Wed Mar 14 14:52:20 CET 2012
Revision: 44878
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=44878
Author: psy-fi
Date: 2012-03-14 13:52:17 +0000 (Wed, 14 Mar 2012)
Log Message:
-----------
fix hang when loop selecting an ngon. We need to check if edge currently walked on has already been added
Modified Paths:
--------------
trunk/blender/source/blender/bmesh/intern/bmesh_walkers_impl.c
Modified: trunk/blender/source/blender/bmesh/intern/bmesh_walkers_impl.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_walkers_impl.c 2012-03-14 12:03:49 UTC (rev 44877)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_walkers_impl.c 2012-03-14 13:52:17 UTC (rev 44878)
@@ -467,15 +467,17 @@
l = BM_face_other_vert_loop(owalk.f_hub, lwalk->lastv, v);
nexte = BM_edge_exists(v, l->v);
- lwalk = BMW_state_add(walker);
- lwalk->cur = nexte;
- lwalk->lastv = v;
+ if(!BLI_ghash_haskey(walker->visithash, nexte)){
+ lwalk = BMW_state_add(walker);
+ lwalk->cur = nexte;
+ lwalk->lastv = v;
- lwalk->is_boundry = owalk.is_boundry;
- lwalk->is_single = owalk.is_single;
- lwalk->f_hub = owalk.f_hub;
+ lwalk->is_boundry = owalk.is_boundry;
+ lwalk->is_single = owalk.is_single;
+ lwalk->f_hub = owalk.f_hub;
- BLI_ghash_insert(walker->visithash, nexte, NULL);
+ BLI_ghash_insert(walker->visithash, nexte, NULL);
+ }
}
}
else if (l) { /* NORMAL EDGE WITH FACES */
More information about the Bf-blender-cvs
mailing list