Revision: 44105
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=44105
Author:   howardt
Date:     2012-02-14 11:40:25 +0000 (Tue, 14 Feb 2012)
Log Message:
-----------
Fix 30169: rotate edge needs more checking for bad cases

If you tried to rotate an edge that was part of a chain
between two faces, the join faces function would remove
the whole chain (else it would leave a 'spur') and then
rotate edge would crash looking for a vertex that is no
longer there. 
Check for this case and disallow rotate if so.

Modified Paths:
--------------
    branches/bmesh/blender/source/blender/bmesh/intern/bmesh_mods.c

Modified: branches/bmesh/blender/source/blender/bmesh/intern/bmesh_mods.c
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/intern/bmesh_mods.c     
2012-02-14 09:43:35 UTC (rev 44104)
+++ branches/bmesh/blender/source/blender/bmesh/intern/bmesh_mods.c     
2012-02-14 11:40:25 UTC (rev 44105)
@@ -728,6 +728,11 @@
        if (BM_edge_face_count(e) != 2)
                return NULL;
 
+       /* If either of e's vertices has valence 2, then
+        * dissolving the edge would leave a spur, so not allowed */
+       if (BM_vert_edge_count(e->v1) == 2 || BM_vert_edge_count(e->v2) == 2)
+               return NULL;
+
        f = BM_faces_join_pair(bm, e->l->f, e->l->radial_next->f, e);
 
        if (f == NULL)

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

Reply via email to