From dc1e98d8a041e161a7bbda97cfac3df57d0ff320 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 23 Apr 2021 17:05:41 +1000 Subject: Fix T86765: Custom properties are included in `__dir__` Remove custom properties from `__dir__` method result since these can't be accessed using `__getattr__`. Introduced in the 2.5x Python API update. --- source/blender/python/intern/bpy_rna.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/blender/python/intern/bpy_rna.c b/source/blender/python/intern/bpy_rna.c index b9ab0ce4c29..354aa9b6986 100644 --- a/source/blender/python/intern/bpy_rna.c +++ b/source/blender/python/intern/bpy_rna.c @@ -4207,6 +4207,10 @@ static void pyrna_dir_members_rna(PyObject *list, PointerRNA *ptr) iterprop = RNA_struct_iterator_property(ptr->type); RNA_PROP_BEGIN (ptr, itemptr, iterprop) { + /* Custom-properties are exposed using `__getitem__`, exclude from `__dir__`. */ + if (RNA_property_is_idprop(itemptr.data)) { + continue; + } nameptr = RNA_struct_name_get_alloc(&itemptr, name, sizeof(name), &namelen); if (nameptr) { -- cgit v1.2.3