From 61f7f5f3a57bb5caa2461d9729d8e9bc223caffb Mon Sep 17 00:00:00 2001
From: Julien Duroure <julien.duroure@gmail.com>
Date: Tue, 16 Jun 2020 21:40:19 +0200
Subject: [PATCH] glTF exporter: add check when armature animation is binded to
 mesh object

---
 io_scene_gltf2/__init__.py                                     | 2 +-
 .../blender/exp/gltf2_blender_gather_animation_channels.py     | 3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/io_scene_gltf2/__init__.py b/io_scene_gltf2/__init__.py
index b12f3b6c8..68d6f05b0 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, Norbert Nopper, Urs Hanselmann, Moritz Becher, Benjamin SchmithĂĽsen, Jim Eckerlein, and many external contributors',
-    "version": (1, 3, 19),
+    "version": (1, 3, 20),
     'blender': (2, 90, 0),
     'location': 'File > Import-Export',
     'description': 'Import-Export as glTF 2.0',
diff --git a/io_scene_gltf2/blender/exp/gltf2_blender_gather_animation_channels.py b/io_scene_gltf2/blender/exp/gltf2_blender_gather_animation_channels.py
index cf23ead13..0917577a9 100755
--- a/io_scene_gltf2/blender/exp/gltf2_blender_gather_animation_channels.py
+++ b/io_scene_gltf2/blender/exp/gltf2_blender_gather_animation_channels.py
@@ -173,6 +173,9 @@ def __get_channel_group_sorted(channels: typing.Tuple[bpy.types.FCurve], blender
                 else:
                     all_sorted_channels.append(existing_idx[i])
 
+            if all([i is None for i in all_sorted_channels]): # all channel in error, and some non keyed SK
+                return channels             # This happen when an armature action is linked to a mesh object with non keyed SK
+
             return tuple(all_sorted_channels)
 
     # if not shapekeys, stay in same order, because order doesn't matter
-- 
GitLab