diff options
Diffstat (limited to 'source/blender/python/intern/bpy_rna.c')
-rw-r--r-- | source/blender/python/intern/bpy_rna.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/source/blender/python/intern/bpy_rna.c b/source/blender/python/intern/bpy_rna.c index a006b81cb60..bad6c4b4b56 100644 --- a/source/blender/python/intern/bpy_rna.c +++ b/source/blender/python/intern/bpy_rna.c @@ -4622,6 +4622,19 @@ static PyObject *pyrna_prop_collection_getattro(BPy_PropertyRNA *self, PyObject if (ret == NULL) { PyErr_Restore(error_type, error_value, error_traceback); } + else { + if (Py_TYPE(ret) == &PyMethodDescr_Type) { + PyMethodDef *m = ((PyMethodDescrObject *)ret)->d_method; + /* TODO: #METH_CLASS */ + if (m->ml_flags & METH_STATIC) { + /* Keep 'ret' as-is. */ + } + else { + Py_DECREF(ret); + ret = PyCMethod_New(m, (PyObject *)self, NULL, NULL); + } + } + } } } |