PyAPI: use a new type for storing the deferred result of bpy.props
This is needed to support Python 3.10's Postponed annotation evaluation. It also simplifies type checking.
This commit is contained in:
@@ -30,6 +30,16 @@ PyObject *BPy_PointerProperty(PyObject *self, PyObject *args, PyObject *kw);
|
||||
PyObject *BPy_CollectionProperty(PyObject *self, PyObject *args, PyObject *kw);
|
||||
StructRNA *pointer_type_from_py(PyObject *value, const char *error_prefix);
|
||||
|
||||
typedef struct {
|
||||
PyObject_HEAD
|
||||
/* This isn't GC tracked, it's a function from `bpy.props` so it's not going away. */
|
||||
void *fn;
|
||||
PyObject *kw;
|
||||
} BPy_PropDeferred;
|
||||
|
||||
extern PyTypeObject bpy_prop_deferred_Type;
|
||||
#define BPy_PropDeferred_CheckTypeExact(v) (Py_TYPE(v) == &bpy_prop_deferred_Type)
|
||||
|
||||
#define PYRNA_STACK_ARRAY RNA_STACK_ARRAY
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
Reference in New Issue
Block a user