Cleanup: use macro to avoid repetition in BPY_init_modules
This commit is contained in:
parent
ed5fb3eaba
commit
d27ddccc60
@ -717,27 +717,24 @@ void BPy_init_modules(bContext *C)
|
||||
/* Register methods and property get/set for RNA types. */
|
||||
BPY_rna_types_extend_capi();
|
||||
|
||||
#define PYMODULE_ADD_METHOD(mod, meth) \
|
||||
PyModule_AddObject(mod, (meth)->ml_name, (PyObject *)PyCFunction_New(meth, nullptr))
|
||||
|
||||
for (int i = 0; bpy_methods[i].ml_name; i++) {
|
||||
PyMethodDef *m = &bpy_methods[i];
|
||||
/* Currently there is no need to support these. */
|
||||
BLI_assert((m->ml_flags & (METH_CLASS | METH_STATIC)) == 0);
|
||||
PyModule_AddObject(mod, m->ml_name, (PyObject *)PyCFunction_New(m, nullptr));
|
||||
PYMODULE_ADD_METHOD(mod, m);
|
||||
}
|
||||
|
||||
/* Register functions (`bpy_rna.cc`). */
|
||||
PyModule_AddObject(mod,
|
||||
meth_bpy_register_class.ml_name,
|
||||
(PyObject *)PyCFunction_New(&meth_bpy_register_class, nullptr));
|
||||
PyModule_AddObject(mod,
|
||||
meth_bpy_unregister_class.ml_name,
|
||||
(PyObject *)PyCFunction_New(&meth_bpy_unregister_class, nullptr));
|
||||
PYMODULE_ADD_METHOD(mod, &meth_bpy_register_class);
|
||||
PYMODULE_ADD_METHOD(mod, &meth_bpy_unregister_class);
|
||||
|
||||
PyModule_AddObject(mod,
|
||||
meth_bpy_owner_id_get.ml_name,
|
||||
(PyObject *)PyCFunction_New(&meth_bpy_owner_id_get, nullptr));
|
||||
PyModule_AddObject(mod,
|
||||
meth_bpy_owner_id_set.ml_name,
|
||||
(PyObject *)PyCFunction_New(&meth_bpy_owner_id_set, nullptr));
|
||||
PYMODULE_ADD_METHOD(mod, &meth_bpy_owner_id_get);
|
||||
PYMODULE_ADD_METHOD(mod, &meth_bpy_owner_id_set);
|
||||
|
||||
#undef PYMODULE_ADD_METHOD
|
||||
|
||||
/* add our own modules dir, this is a python package */
|
||||
bpy_package_py = bpy_import_test("bpy");
|
||||
|
Loading…
Reference in New Issue
Block a user