From f9696870783db9e33b69f29ee61e7e7616d33b8c Mon Sep 17 00:00:00 2001
From: Julien Duroure <julien.duroure@gmail.com>
Date: Sat, 5 Sep 2020 15:25:26 +0200
Subject: [PATCH] glTF importer: Permit missing texture.source

---
 io_scene_gltf2/__init__.py        | 2 +-
 io_scene_gltf2/io/com/gltf2_io.py | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/io_scene_gltf2/__init__.py b/io_scene_gltf2/__init__.py
index 9d4be3971..87798cfde 100755
--- a/io_scene_gltf2/__init__.py
+++ b/io_scene_gltf2/__init__.py
@@ -15,7 +15,7 @@
 bl_info = {
     'name': 'glTF 2.0 format',
     'author': 'Julien Duroure, Scurest, Norbert Nopper, Urs Hanselmann, Moritz Becher, Benjamin SchmithĂĽsen, Jim Eckerlein, and many external contributors',
-    "version": (1, 4, 11),
+    "version": (1, 4, 12),
     'blender': (2, 90, 0),
     'location': 'File > Import-Export',
     'description': 'Import-Export as glTF 2.0',
diff --git a/io_scene_gltf2/io/com/gltf2_io.py b/io_scene_gltf2/io/com/gltf2_io.py
index 7d70b5fbe..86a29f5c5 100755
--- a/io_scene_gltf2/io/com/gltf2_io.py
+++ b/io_scene_gltf2/io/com/gltf2_io.py
@@ -1117,7 +1117,7 @@ class Texture:
         extras = obj.get("extras")
         name = from_union([from_str, from_none], obj.get("name"))
         sampler = from_union([from_int, from_none], obj.get("sampler"))
-        source = from_int(obj.get("source"))
+        source = from_union([from_int, from_none], obj.get("source"))
         return Texture(extensions, extras, name, sampler, source)
 
     def to_dict(self):
@@ -1127,7 +1127,7 @@ class Texture:
         result["extras"] = from_extra(self.extras)
         result["name"] = from_union([from_str, from_none], self.name)
         result["sampler"] = from_union([from_int, from_none], self.sampler)
-        result["source"] = from_int(self.source)  # most viewers can't handle missing sources
+        result["source"] = from_union([from_int, from_none], self.source)
         return result
 
 
-- 
GitLab