PyAPI: add invalid objects check for RNA struct keys()/values()/items()

This commit is contained in:
Campbell Barton 2022-11-08 17:17:30 +11:00
parent 8b151982fe
commit 871375f222
1 changed files with 6 additions and 0 deletions

View File

@ -3499,6 +3499,8 @@ PyDoc_STRVAR(pyrna_struct_keys_doc,
"\n" BPY_DOC_ID_PROP_TYPE_NOTE);
static PyObject *pyrna_struct_keys(BPy_StructRNA *self)
{
PYRNA_STRUCT_CHECK_OBJ(self);
if (RNA_struct_idprops_check(self->ptr.type) == 0) {
PyErr_SetString(PyExc_TypeError, "bpy_struct.keys(): this type doesn't support IDProperties");
return NULL;
@ -3520,6 +3522,8 @@ PyDoc_STRVAR(pyrna_struct_items_doc,
"\n" BPY_DOC_ID_PROP_TYPE_NOTE);
static PyObject *pyrna_struct_items(BPy_StructRNA *self)
{
PYRNA_STRUCT_CHECK_OBJ(self);
if (RNA_struct_idprops_check(self->ptr.type) == 0) {
PyErr_SetString(PyExc_TypeError, "bpy_struct.items(): this type doesn't support IDProperties");
return NULL;
@ -3541,6 +3545,8 @@ PyDoc_STRVAR(pyrna_struct_values_doc,
"\n" BPY_DOC_ID_PROP_TYPE_NOTE);
static PyObject *pyrna_struct_values(BPy_StructRNA *self)
{
PYRNA_STRUCT_CHECK_OBJ(self);
if (RNA_struct_idprops_check(self->ptr.type) == 0) {
PyErr_SetString(PyExc_TypeError,
"bpy_struct.values(): this type doesn't support IDProperties");