[Bf-extensions-cvs] [1a3f1277] master: Rigify: fix errors when no feature sets are installed.

Alexander Gavrilov noreply at git.blender.org
Wed Dec 9 16:52:05 CET 2020


Commit: 1a3f127714e8da9f0af12d9a174dae9793ae63c1
Author: Alexander Gavrilov
Date:   Wed Dec 9 17:54:34 2020 +0300
Branches: master
https://developer.blender.org/rBA1a3f127714e8da9f0af12d9a174dae9793ae63c1

Rigify: fix errors when no feature sets are installed.

Exceptions when the list is empty, and failing to clear the list.

===================================================================

M	rigify/__init__.py

===================================================================

diff --git a/rigify/__init__.py b/rigify/__init__.py
index 63e42d1d..084a73c4 100644
--- a/rigify/__init__.py
+++ b/rigify/__init__.py
@@ -223,6 +223,14 @@ class RigifyPreferences(AddonPreferences):
 
         set_list = feature_set_list.get_installed_list()
 
+        # Update feature set list
+        self.rigify_feature_sets.clear()
+
+        for s in set_list:
+            list_entry = self.rigify_feature_sets.add()
+            list_entry.name = feature_set_list.get_ui_name(s)
+            list_entry.module_name = s
+
         if force or len(set_list) > 0:
             # Reload rigs
             print('Reloading external rigs...')
@@ -235,13 +243,6 @@ class RigifyPreferences(AddonPreferences):
             # Re-register rig parameters
             register_rig_parameters()
 
-            # Update feature set list
-            self.rigify_feature_sets.clear()
-            for s in set_list:
-                list_entry = self.rigify_feature_sets.add()
-                list_entry.name = feature_set_list.get_ui_name(s)
-                list_entry.module_name = s
-
     legacy_mode: BoolProperty(
         name='Legacy Mode',
         description='When enabled the add-on will run in legacy mode using the old 2.76b feature set',
@@ -275,10 +276,12 @@ class RigifyPreferences(AddonPreferences):
 
         # Clamp active index to ensure it's in bounds.
         self.active_feature_set_index = max(0, min(self.active_feature_set_index, len(self.rigify_feature_sets)-1))
-        active_fs = self.rigify_feature_sets[self.active_feature_set_index]
 
-        if active_fs:
-            draw_feature_set_prefs(layout, context, active_fs)
+        if len(self.rigify_feature_sets) > 0:
+            active_fs = self.rigify_feature_sets[self.active_feature_set_index]
+
+            if active_fs:
+                draw_feature_set_prefs(layout, context, active_fs)
 
 
 def draw_feature_set_prefs(layout, context, featureset: RigifyFeatureSets):



More information about the Bf-extensions-cvs mailing list