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