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>2012-04-11 14:35:09 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-04-11 14:35:09 +0400
commit9e663017d8c4140a16cd747077f33217dc19f35e (patch)
tree46923b4d83526fc094dd6a68a3ac878bd8974110 /source/blender/python
parenta3b491eca7c0c53bef453fdd829ac9f430bc758a (diff)
py rna/api: fix for error running RNA_property_collection_type_get on non collection property types.
Diffstat (limited to 'source/blender/python')
-rw-r--r--source/blender/python/intern/bpy_rna.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/source/blender/python/intern/bpy_rna.c b/source/blender/python/intern/bpy_rna.c
index 175aada5094..aea22b3a1b4 100644
--- a/source/blender/python/intern/bpy_rna.c
+++ b/source/blender/python/intern/bpy_rna.c
@@ -3324,13 +3324,15 @@ static void pyrna_dir_members_py(PyObject *list, PyObject *self)
/* since this is least common case, handle it last */
if (BPy_PropertyRNA_Check(self)) {
BPy_PropertyRNA *self_prop = (BPy_PropertyRNA *)self;
- PointerRNA r_ptr;
+ if (RNA_property_type(self_prop->prop) == PROP_COLLECTION) {
+ PointerRNA r_ptr;
- if (RNA_property_collection_type_get(&self_prop->ptr, self_prop->prop, &r_ptr)) {
- PyObject *cls = pyrna_struct_Subtype(&r_ptr); /* borrows */
- dict = ((PyTypeObject *)cls)->tp_dict;
- pyrna_dir_members_py__add_keys(list, dict);
- Py_DECREF(cls);
+ if (RNA_property_collection_type_get(&self_prop->ptr, self_prop->prop, &r_ptr)) {
+ PyObject *cls = pyrna_struct_Subtype(&r_ptr); /* borrows */
+ dict = ((PyTypeObject *)cls)->tp_dict;
+ pyrna_dir_members_py__add_keys(list, dict);
+ Py_DECREF(cls);
+ }
}
}
}