diff --git a/mesh_snap_utilities_line/__init__.py b/mesh_snap_utilities_line/__init__.py index 604c1b155db312b5e719af9958295b28a25d0ce7..646b61bdb1a0be361153fa5e37946f4f97138fc6 100644 --- a/mesh_snap_utilities_line/__init__.py +++ b/mesh_snap_utilities_line/__init__.py @@ -22,7 +22,7 @@ bl_info = { "name": "Snap_Utilities_Line", "author": "Germano Cavalcante", - "version": (5, 9, 3), + "version": (5, 9, 4), "blender": (2, 80, 0), "location": "View3D > TOOLS > Line Tool", "description": "Extends Blender Snap controls", diff --git a/mesh_snap_utilities_line/common_classes.py b/mesh_snap_utilities_line/common_classes.py index 6ad150c4d3c87fd7f6725a98aa3b85badbb33485..e277b5441af2351fb22ada36ff3cc6c7a57bb8f4 100644 --- a/mesh_snap_utilities_line/common_classes.py +++ b/mesh_snap_utilities_line/common_classes.py @@ -311,7 +311,7 @@ class SnapUtilities: if SnapUtilities.snapwidgets: widget = SnapUtilities.snapwidgets[-1] - self.snap_obj = widget.snap_obj + self.obj = widget.snap_obj.data[0] if widget.snap_obj else context.active_object self.bm = widget.bm self.geom = widget.geom self.type = widget.type @@ -325,7 +325,7 @@ class SnapUtilities: else: #init these variables to avoid errors - self.snap_obj = None + self.obj = context.active_object self.bm = None self.geom = None self.type = 'OUT' diff --git a/mesh_snap_utilities_line/op_line.py b/mesh_snap_utilities_line/op_line.py index 585792bd483b706fbe6ab52eeaa1dfc6227fc012..454c64e3366c8d54f74a6ca29400af0b16c6b805 100644 --- a/mesh_snap_utilities_line/op_line.py +++ b/mesh_snap_utilities_line/op_line.py @@ -233,11 +233,11 @@ class SnapUtilitiesLine(SnapUtilities, bpy.types.Operator): self.vector_constrain = () self.len = 0 - active_object = context.active_object - mesh = active_object.data + self.main_snap_obj = self.snap_obj = self.sctx._get_snap_obj_by_obj(self.obj) + if self.bm == None: + self.bm = bmesh.from_edit_mesh(self.obj.data) - self.main_snap_obj = self.snap_obj = self.sctx._get_snap_obj_by_obj(active_object) - self.main_bm = self.bm = bmesh.from_edit_mesh(mesh) + self.main_bm = self.bm def modal(self, context, event): if self.navigation_ops.run(context, event, self.prevloc if self.vector_constrain else self.location): @@ -435,7 +435,7 @@ class SnapUtilitiesLine(SnapUtilities, bpy.types.Operator): context.window_manager.modal_handler_add(self) if not self.wait_for_input: - mat_inv = context.object.matrix_world.inverted_safe() + mat_inv = self.obj.matrix_world.inverted_safe() point = mat_inv @ self.location self.list_verts_co = make_line(self, self.geom, point) diff --git a/mesh_snap_utilities_line/widgets.py b/mesh_snap_utilities_line/widgets.py index 2849075ce02a62c181d5de8d6201c065b82572fe..ad0ee2834d11653d9410fd6db1442c118e91de8b 100644 --- a/mesh_snap_utilities_line/widgets.py +++ b/mesh_snap_utilities_line/widgets.py @@ -49,7 +49,6 @@ class SnapWidgetCommon(SnapUtilities): else: self.bm = None self.geom = None - self.sctx.update_all() self.draw_cache.draw(self.type, self.location, None, None, None)