Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2021-02-24 15:36:15 +0300
committerCampbell Barton <ideasman42@gmail.com>2021-02-24 15:39:38 +0300
commit0c0553ace7b31107ba03952e013d802a5f6b1f35 (patch)
tree6dbc17716de0ad4ff56f4c76dc83d2d27d49257e
parent5c098ef58c4b1b8e9111d33ae64fda8a300dd84d (diff)
Fix T85915: Cannot save new theme preset
Since making bpy.types a real module `dir(bpy.types)` now includes __dir__ and __getattr__ methods which need to be ignored.
-rw-r--r--release/scripts/modules/rna_xml.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/release/scripts/modules/rna_xml.py b/release/scripts/modules/rna_xml.py
index d9fc09e7d18..58abb5c90db 100644
--- a/release/scripts/modules/rna_xml.py
+++ b/release/scripts/modules/rna_xml.py
@@ -26,14 +26,21 @@ def build_property_typemap(skip_classes, skip_typemap):
property_typemap = {}
for attr in dir(bpy.types):
+ # Skip internal methods.
+ if attr.startswith("_"):
+ continue
cls = getattr(bpy.types, attr)
if issubclass(cls, skip_classes):
continue
+ bl_rna = getattr(cls, "bl_rna", None)
+ # Needed to skip classes added to the modules `__dict__`.
+ if bl_rna is None:
+ continue
# # to support skip-save we can't get all props
- # properties = cls.bl_rna.properties.keys()
+ # properties = bl_rna.properties.keys()
properties = []
- for prop_id, prop in cls.bl_rna.properties.items():
+ for prop_id, prop in bl_rna.properties.items():
if not prop.is_skip_save:
properties.append(prop_id)