diff options
-rw-r--r-- | release/scripts/modules/bpy_types.py | 4 | ||||
-rw-r--r-- | source/blender/python/intern/bpy.c | 3 | ||||
-rw-r--r-- | source/blender/python/intern/bpy_rna.c | 15 |
3 files changed, 17 insertions, 5 deletions
diff --git a/release/scripts/modules/bpy_types.py b/release/scripts/modules/bpy_types.py index 92dbd2dbd0e..4f71cdf7588 100644 --- a/release/scripts/modules/bpy_types.py +++ b/release/scripts/modules/bpy_types.py @@ -21,8 +21,8 @@ from _bpy import types as bpy_types import _bpy -StructRNA = bpy_types.Struct.__bases__[0] -StructMetaPropGroup = _bpy.StructMetaPropGroup +StructRNA = bpy_types.bpy_struct +StructMetaPropGroup = bpy_types.bpy_struct_meta_idprop # StructRNA = bpy_types.Struct bpy_types.BlendDataLibraries.load = _bpy._library_load diff --git a/source/blender/python/intern/bpy.c b/source/blender/python/intern/bpy.c index fa2ad3a4803..bdae2a7cb17 100644 --- a/source/blender/python/intern/bpy.c +++ b/source/blender/python/intern/bpy.c @@ -320,9 +320,6 @@ void BPy_init_modules(void) /* needs to be first so bpy_types can run */ PyModule_AddObject(mod, "types", BPY_rna_types()); - /* metaclass for idprop types, bpy_types.py needs access */ - PyModule_AddObject(mod, "StructMetaPropGroup", (PyObject *)&pyrna_struct_meta_idprop_Type); - /* needs to be first so bpy_types can run */ BPY_library_module(mod); diff --git a/source/blender/python/intern/bpy_rna.c b/source/blender/python/intern/bpy_rna.c index 220ec5b6e8c..47d89cd43ae 100644 --- a/source/blender/python/intern/bpy_rna.c +++ b/source/blender/python/intern/bpy_rna.c @@ -6678,6 +6678,21 @@ PyObject *BPY_rna_types(void) /* add __name__ since help() expects its */ PyDict_SetItem(pyrna_basetype_Type.tp_dict, bpy_intern_str___name__, bpy_intern_str_bpy_types); + /* internal base types we have no other accessors for */ + { + PyTypeObject *pyrna_types[] = { + &pyrna_struct_meta_idprop_Type, + &pyrna_struct_Type, + &pyrna_prop_Type, + &pyrna_prop_array_Type, + &pyrna_prop_collection_Type, + &pyrna_func_Type, + }; + + for (int i = 0; i < ARRAY_SIZE(pyrna_types); i += 1) { + PyDict_SetItemString(pyrna_basetype_Type.tp_dict, pyrna_types[i]->tp_name, (PyObject *)pyrna_types[i]); + } + } self = (BPy_BaseTypeRNA *)PyObject_NEW(BPy_BaseTypeRNA, &pyrna_basetype_Type); |