From e1d8c70bbb5776041383335f986b28b33d18f8ff Mon Sep 17 00:00:00 2001
From: Bastien Montagne <montagne29@wanadoo.fr>
Date: Sun, 4 Oct 2015 11:37:12 +0200
Subject: [PATCH] Fix T46365: Export UV Layout to PNG not working (missing
 context messages part).

Cannot reproduce the crash, let's see whether those missing context stuff fix it as well...
---
 io_mesh_uv_layout/__init__.py      | 4 ++--
 io_mesh_uv_layout/export_uv_eps.py | 2 +-
 io_mesh_uv_layout/export_uv_png.py | 5 +++--
 io_mesh_uv_layout/export_uv_svg.py | 2 +-
 4 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/io_mesh_uv_layout/__init__.py b/io_mesh_uv_layout/__init__.py
index 30dff949f..811430dfb 100644
--- a/io_mesh_uv_layout/__init__.py
+++ b/io_mesh_uv_layout/__init__.py
@@ -21,7 +21,7 @@
 bl_info = {
     "name": "UV Layout",
     "author": "Campbell Barton, Matt Ebb",
-    "version": (1, 1, 1),
+    "version": (1, 1, 2),
     "blender": (2, 75, 0),
     "location": "Image-Window > UVs > Export UV Layout",
     "description": "Export the UV layout as a 2D graphic",
@@ -199,7 +199,7 @@ class ExportUVLayout(bpy.types.Operator):
         else:
             mesh = obj.data
 
-        func(fw, mesh, self.size[0], self.size[1], self.opacity,
+        func(fw, context, mesh, self.size[0], self.size[1], self.opacity,
              lambda: self._face_uv_iter(context, mesh, self.tessellated))
 
         if self.modified:
diff --git a/io_mesh_uv_layout/export_uv_eps.py b/io_mesh_uv_layout/export_uv_eps.py
index a15dc2662..271ab5ef1 100644
--- a/io_mesh_uv_layout/export_uv_eps.py
+++ b/io_mesh_uv_layout/export_uv_eps.py
@@ -21,7 +21,7 @@
 import bpy
 
 
-def write(fw, mesh, image_width, image_height, opacity, face_iter_func):
+def write(fw, context, mesh, image_width, image_height, opacity, face_iter_func):
     fw("%!PS-Adobe-3.0 EPSF-3.0\n")
     fw("%%%%Creator: Blender %s\n" % bpy.app.version_string)
     fw("%%Pages: 1\n")
diff --git a/io_mesh_uv_layout/export_uv_png.py b/io_mesh_uv_layout/export_uv_png.py
index 5da543ccf..c5ba3a3b3 100644
--- a/io_mesh_uv_layout/export_uv_png.py
+++ b/io_mesh_uv_layout/export_uv_png.py
@@ -21,7 +21,7 @@
 import bpy
 
 
-def write(fw, mesh_source, image_width, image_height, opacity, face_iter_func):
+def write(fw, context, mesh_source, image_width, image_height, opacity, face_iter_func):
     filepath = fw.__self__.name
     fw.__self__.close()
 
@@ -133,7 +133,8 @@ def write(fw, mesh_source, image_width, image_height, opacity, face_iter_func):
 
     scene.update()
 
-    data_context = {"blend_data": bpy.context.blend_data, "scene": scene}
+    data_context = context.copy()
+    data_context.update((("blend_data", bpy.context.blend_data), ("scene", scene)))
     bpy.ops.render.render(data_context, write_still=True)
 
     # cleanup
diff --git a/io_mesh_uv_layout/export_uv_svg.py b/io_mesh_uv_layout/export_uv_svg.py
index 764f0d341..d23782190 100644
--- a/io_mesh_uv_layout/export_uv_svg.py
+++ b/io_mesh_uv_layout/export_uv_svg.py
@@ -21,7 +21,7 @@
 import bpy
 
 
-def write(fw, mesh, image_width, image_height, opacity, face_iter_func):
+def write(fw, context, mesh, image_width, image_height, opacity, face_iter_func):
     # for making an XML compatible string
     from xml.sax.saxutils import escape
     from os.path import basename
-- 
GitLab