diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-09-09 21:41:36 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-09-09 21:41:36 +0400 |
commit | 7bd1f9a234aa0adeecc3ec8e77eead598b5af232 (patch) | |
tree | 1828b4481186ef27b9d07548fcf8f4baf562e688 /release | |
parent | f9367c4c4d75d4c823029e64f8c5d371e507df52 (diff) |
- bugfix, operators were getting their properties registered twice.
- operator properties are now converted into python property() class members which bypass the operator 'properties' member.
self.properties.mysetting
... can now be written as ...
self.mysetting
- fix for error reloading rigify
Diffstat (limited to 'release')
-rw-r--r-- | release/scripts/modules/bpy_types.py | 8 | ||||
-rw-r--r-- | release/scripts/ui/properties_data_armature_rigify.py | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/release/scripts/modules/bpy_types.py b/release/scripts/modules/bpy_types.py index b349fa0a76e..d3a1a5544f5 100644 --- a/release/scripts/modules/bpy_types.py +++ b/release/scripts/modules/bpy_types.py @@ -701,6 +701,14 @@ class OrderedMeta(RNAMeta): class Operator(StructRNA, metaclass=OrderedMeta): __slots__ = () + @classmethod + def easy_getsets(cls): + def bypass_attr(attr): + setattr(cls, attr, property(lambda self: getattr(self.properties, attr), lambda self, value: setattr(self.properties, attr, value))) + for attr, value in list(cls.__dict__.items()): + if type(value) == tuple and len(value) == 2 and type(value[1]) == dict: + bypass_attr(attr) + class Macro(StructRNA, metaclass=OrderedMeta): # bpy_types is imported before ops is defined diff --git a/release/scripts/ui/properties_data_armature_rigify.py b/release/scripts/ui/properties_data_armature_rigify.py index 92b9074892b..3a34f8e1b9d 100644 --- a/release/scripts/ui/properties_data_armature_rigify.py +++ b/release/scripts/ui/properties_data_armature_rigify.py @@ -318,7 +318,7 @@ def register(): def unregister(): - bpy.types.Scene.RemoveProperty("pose_templates") + del bpy.types.Scene.pose_templates space_info.INFO_MT_armature_add.remove(menu_func) if __name__ == "__main__": |