diff options
Diffstat (limited to 'rigify/__init__.py')
-rw-r--r-- | rigify/__init__.py | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/rigify/__init__.py b/rigify/__init__.py index 1be1a310..65947ee8 100644 --- a/rigify/__init__.py +++ b/rigify/__init__.py @@ -455,16 +455,17 @@ class RigifyParameterValidator(object): def __getattr__(self, name): return getattr(self.__params, name) - def __setattr__(self, name, val): + def __setattr__(self, name, val_original): # allow __init__ to work correctly if hasattr(RigifyParameterValidator, name): - return object.__setattr__(self, name, val) + return object.__setattr__(self, name, val_original) - if not (isinstance(val, tuple) and callable(val[0]) and isinstance(val[1], dict)): - print("!!! RIGIFY RIG %s: INVALID DEFINITION FOR RIG PARAMETER %s: %r\n" % (self.__rig_name, name, val)) + if not isinstance(val_original, bpy.props._PropertyDeferred): + print("!!! RIGIFY RIG %s: INVALID DEFINITION FOR RIG PARAMETER %s: %r\n" % (self.__rig_name, name, val_original)) return # actually defining the property modifies the dictionary with new parameters, so copy it now + val = (val_original.function, val_original.keywords) new_def = (val[0], val[1].copy()) if 'poll' in new_def[1]: |