diff options
author | Bart Crouch <bartius.crouch@gmail.com> | 2013-03-23 21:53:13 +0400 |
---|---|---|
committer | Bart Crouch <bartius.crouch@gmail.com> | 2013-03-23 21:53:13 +0400 |
commit | 134df88611515098e0c90362453cbfab19ad6dac (patch) | |
tree | b47b9d367efa744f428dd3c12a9608ff973e73c3 /mesh_f2.py | |
parent | 6a08ec8f67f11df28f10f07ace960bb226cfebfd (diff) |
Fixes crash when all faces are selected.
Thanks go to Czarek Kopias for the bug report and proposing a fix.
Diffstat (limited to 'mesh_f2.py')
-rw-r--r-- | mesh_f2.py | 12 |
1 files changed, 9 insertions, 3 deletions
@@ -21,8 +21,8 @@ bl_info = { 'name': "F2", 'author': "Bart Crouch", - 'version': (1, 4, 0), - 'blender': (2, 65, 9), + 'version': (1, 5, 0), + 'blender': (2, 66, 3), 'location': "Editmode > F", 'warning': "", 'description': "Extends the 'Make Edge/Face' functionality", @@ -249,8 +249,14 @@ class MeshF2(bpy.types.Operator): bm = bmesh.from_edit_mesh(context.active_object.data) sel = [v for v in bm.verts if v.select] if len(sel) > 2: + if len([True for f in bm.faces if f.select]) == len(bm.faces): + # all faces selected, can't create new one + return {'CANCELLED'} # original 'Make Edge/Face' behaviour - bpy.ops.mesh.edge_face_add() + try: + bpy.ops.mesh.edge_face_add('INVOKE_DEFAULT') + except: + pass elif len(sel) == 1: # single vertex selected -> mirror vertex and create new face quad_from_vertex(bm, sel[0], context, event) |