[Bf-extensions-cvs] [b9ec717] master: add mode_set object/edit - without this it is broken
zeffii
noreply at git.blender.org
Fri Jul 29 22:35:57 CEST 2016
Commit: b9ec717be542cba76a514f657e490c29210c6bf2
Author: zeffii
Date: Fri Jul 29 22:35:57 2016 +0200
Branches: master
https://developer.blender.org/rBACb9ec717be542cba76a514f657e490c29210c6bf2
add mode_set object/edit - without this it is broken
===================================================================
M mesh_tiny_cad/VTX.py
===================================================================
diff --git a/mesh_tiny_cad/VTX.py b/mesh_tiny_cad/VTX.py
index 1418459..8a8c4e8 100644
--- a/mesh_tiny_cad/VTX.py
+++ b/mesh_tiny_cad/VTX.py
@@ -143,8 +143,16 @@ class TCAutoVTX(bpy.types.Operator):
return {'CANCELLED'}
def execute(self, context):
+
+ # final attempt to enter unfragmented bm/mesh
+ # ghastly, but what can I do? it works with these
+ # fails without.
+ bpy.ops.object.mode_set(mode='OBJECT')
+ bpy.ops.object.mode_set(mode='EDIT')
+
obj = context.active_object
me = obj.data
+
bm = bmesh.from_edit_mesh(me)
bm.verts.ensure_lookup_table()
bm.edges.ensure_lookup_table()
@@ -152,16 +160,18 @@ class TCAutoVTX(bpy.types.Operator):
edges = [e for e in bm.edges if e.select and not e.hide]
if len(edges) == 2:
- bm = do_vtx_if_appropriate(bm, edges)
- if isinstance(bm, set):
- msg = messages.get(bm.pop())
+ message = do_vtx_if_appropriate(bm, edges)
+ if isinstance(message, set):
+ msg = messages.get(message.pop())
return self.cancel_message(msg)
+ bm = message
else:
return self.cancel_message('select two edges!')
bm.verts.index_update()
bm.edges.index_update()
bmesh.update_edit_mesh(me, True)
+
return {'FINISHED'}
More information about the Bf-extensions-cvs
mailing list