From 1c08d210faf6f86f67cba7edc1b4ece4dd5b09cf Mon Sep 17 00:00:00 2001
From: Philipp Oeser <info@graphics-engineer.com>
Date: Fri, 21 Jun 2019 13:07:37 +0200
Subject: [PATCH] Fix T65990: UV Layout Export error with 'Modified' checked

update for recent depsgraph API changes

Reviewers: brecht

Maniphest Tasks: T65990

Differential Revision: https://developer.blender.org/D5112
---
 io_mesh_uv_layout/__init__.py | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/io_mesh_uv_layout/__init__.py b/io_mesh_uv_layout/__init__.py
index d068a0085..e7f19c18f 100644
--- a/io_mesh_uv_layout/__init__.py
+++ b/io_mesh_uv_layout/__init__.py
@@ -141,7 +141,10 @@ class ExportUVLayout(bpy.types.Operator):
         polygon_data = list(self.iter_polygon_data_to_draw(context, meshes))
         different_colors = set(color for _, color in polygon_data)
         if self.modified:
-            self.free_meshes(meshes)
+          depsgraph = context.evaluated_depsgraph_get()
+          for obj in self.iter_objects_to_export(context):
+              obj_eval = obj.evaluated_get(depsgraph)
+              obj_eval.to_mesh_clear()
 
         export = self.get_exporter()
         export(filepath, polygon_data, different_colors, self.size[0], self.size[1], self.opacity)
@@ -169,11 +172,6 @@ class ExportUVLayout(bpy.types.Operator):
                 continue
             yield obj
 
-    @staticmethod
-    def free_meshes(meshes):
-        for mesh in meshes:
-            bpy.data.meshes.remove(mesh)
-
     @staticmethod
     def currently_image_image_editor(context):
         return isinstance(context.space_data, bpy.types.SpaceImageEditor)
-- 
GitLab