From 00e74bb22dc201774edfc870ed40fa7965c03113 Mon Sep 17 00:00:00 2001 From: mano-wii <germano.costa@ig.com.br> Date: Mon, 11 Feb 2019 15:24:33 -0200 Subject: [PATCH] mesh_snap_utilities_line: Fix ghost objects --- mesh_snap_utilities_line/__init__.py | 2 +- mesh_snap_utilities_line/common_classes.py | 5 +++-- mesh_snap_utilities_line/snap_context_l/__init__.py | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/mesh_snap_utilities_line/__init__.py b/mesh_snap_utilities_line/__init__.py index 646b61bdb..633b916e5 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, 4), + "version": (5, 9, 5), "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 e277b5441..c36216e08 100644 --- a/mesh_snap_utilities_line/common_classes.py +++ b/mesh_snap_utilities_line/common_classes.py @@ -262,7 +262,7 @@ class SnapUtilities: moving_objects.difference_update(children) - self.sctx.clear_snap_objects() + self.sctx.clear_snap_objects(True) for obj in context.visible_objects: is_moving = obj in moving_objects or obj in children @@ -295,7 +295,8 @@ class SnapUtilities: for obj in context.objects_in_mode_unique_data: yield (obj, obj.matrix_world) - self.sctx.clear_snap_objects() + self.sctx.clear_snap_objects(True) + for obj, matrix in visible_objects_and_duplis(): self.sctx.add_obj(obj, matrix) diff --git a/mesh_snap_utilities_line/snap_context_l/__init__.py b/mesh_snap_utilities_line/snap_context_l/__init__.py index 62a39bb33..32b8bf74b 100644 --- a/mesh_snap_utilities_line/snap_context_l/__init__.py +++ b/mesh_snap_utilities_line/snap_context_l/__init__.py @@ -371,13 +371,13 @@ class SnapContext(): self.winsize = winsize self._offscreen.resize(*self.winsize) - def clear_snap_objects(self): + def clear_snap_objects(self, clear_offscreen = False): for snap_obj in self.snap_objects: if len(snap_obj.data) == 2: snap_obj.data[1].free() del snap_obj.data[1:] - self.update_drawing(False) + self.update_drawing(clear_offscreen) self.snap_objects.clear() _Internal.gpu_Indices_mesh_cache_clear() -- GitLab