diff options
Diffstat (limited to 'source/blender/python/intern/bpy_rna.c')
-rw-r--r-- | source/blender/python/intern/bpy_rna.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/source/blender/python/intern/bpy_rna.c b/source/blender/python/intern/bpy_rna.c index 8be9cc4cdae..8fc7fc2b342 100644 --- a/source/blender/python/intern/bpy_rna.c +++ b/source/blender/python/intern/bpy_rna.c @@ -4175,9 +4175,11 @@ static PyObject *pyrna_basetype_getattro( BPy_BaseTypeRNA *self, PyObject *pynam static PyObject *pyrna_basetype_dir(BPy_BaseTypeRNA *self); static PyObject *pyrna_basetype_register(PyObject *self, PyObject *py_class); static PyObject *pyrna_basetype_unregister(PyObject *self, PyObject *py_class); +static PyObject *pyrna_register_immediate(PyObject *self); static struct PyMethodDef pyrna_basetype_methods[] = { {"__dir__", (PyCFunction)pyrna_basetype_dir, METH_NOARGS, ""}, + {"immediate", (PyCFunction)pyrna_register_immediate, METH_NOARGS, ""}, {"register", (PyCFunction)pyrna_basetype_register, METH_O, ""}, {"unregister", (PyCFunction)pyrna_basetype_unregister, METH_O, ""}, {NULL, NULL, 0, NULL} @@ -4769,6 +4771,22 @@ void pyrna_free_types(void) } +static int IMMEDIATE = 0; + +void bpy_set_immediate_register(int value) +{ + IMMEDIATE = value; +} + +static PyObject *pyrna_register_immediate(PyObject *self) +{ + if (IMMEDIATE) { + Py_RETURN_TRUE; + } else { + Py_RETURN_FALSE; + } +} + /* Note! MemLeak XXX * * There is currently a bug where moving registering a python class does |