diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-04-11 14:35:09 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-04-11 14:35:09 +0400 |
commit | 9e663017d8c4140a16cd747077f33217dc19f35e (patch) | |
tree | 46923b4d83526fc094dd6a68a3ac878bd8974110 /source/blender/python | |
parent | a3b491eca7c0c53bef453fdd829ac9f430bc758a (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.c | 14 |
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); + } } } } |