Fix misuse of Py_INCREF in module creation.
Differential Revision: https://developer.blender.org/D3697
This commit is contained in:
@@ -203,21 +203,17 @@ PyObject *BPyInit_bmesh(void)
|
|||||||
/* bmesh.types */
|
/* bmesh.types */
|
||||||
PyModule_AddObject(mod, "types", (submodule = BPyInit_bmesh_types()));
|
PyModule_AddObject(mod, "types", (submodule = BPyInit_bmesh_types()));
|
||||||
PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
|
PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
|
||||||
Py_INCREF(submodule);
|
|
||||||
|
|
||||||
/* bmesh.ops (not a real module, exposes module like access). */
|
/* bmesh.ops (not a real module, exposes module like access). */
|
||||||
PyModule_AddObject(mod, "ops", (submodule = BPyInit_bmesh_ops()));
|
PyModule_AddObject(mod, "ops", (submodule = BPyInit_bmesh_ops()));
|
||||||
/* PyDict_SetItemString(sys_modules, PyModule_GetNameObject(submodule), submodule); */
|
/* PyDict_SetItemString(sys_modules, PyModule_GetNameObject(submodule), submodule); */
|
||||||
PyDict_SetItemString(sys_modules, "bmesh.ops", submodule); /* fake module */
|
PyDict_SetItemString(sys_modules, "bmesh.ops", submodule); /* fake module */
|
||||||
Py_INCREF(submodule);
|
|
||||||
|
|
||||||
PyModule_AddObject(mod, "utils", (submodule = BPyInit_bmesh_utils()));
|
PyModule_AddObject(mod, "utils", (submodule = BPyInit_bmesh_utils()));
|
||||||
PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
|
PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
|
||||||
Py_INCREF(submodule);
|
|
||||||
|
|
||||||
PyModule_AddObject(mod, "geometry", (submodule = BPyInit_bmesh_geometry()));
|
PyModule_AddObject(mod, "geometry", (submodule = BPyInit_bmesh_geometry()));
|
||||||
PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
|
PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
|
||||||
Py_INCREF(submodule);
|
|
||||||
|
|
||||||
return mod;
|
return mod;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1811,7 +1811,6 @@ PyObject *BPyInit_idprop(void)
|
|||||||
/* idprop.types */
|
/* idprop.types */
|
||||||
PyModule_AddObject(mod, "types", (submodule = BPyInit_idprop_types()));
|
PyModule_AddObject(mod, "types", (submodule = BPyInit_idprop_types()));
|
||||||
PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
|
PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
|
||||||
Py_INCREF(submodule);
|
|
||||||
|
|
||||||
return mod;
|
return mod;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -71,23 +71,18 @@ PyObject *BPyInit_gpu(void)
|
|||||||
|
|
||||||
PyModule_AddObject(mod, "types", (submodule = BPyInit_gpu_types()));
|
PyModule_AddObject(mod, "types", (submodule = BPyInit_gpu_types()));
|
||||||
PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
|
PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
|
||||||
Py_INCREF(submodule);
|
|
||||||
|
|
||||||
PyModule_AddObject(mod, "matrix", (submodule = BPyInit_gpu_matrix()));
|
PyModule_AddObject(mod, "matrix", (submodule = BPyInit_gpu_matrix()));
|
||||||
PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
|
PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
|
||||||
Py_INCREF(submodule);
|
|
||||||
|
|
||||||
PyModule_AddObject(mod, "select", (submodule = BPyInit_gpu_select()));
|
PyModule_AddObject(mod, "select", (submodule = BPyInit_gpu_select()));
|
||||||
PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
|
PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
|
||||||
Py_INCREF(submodule);
|
|
||||||
|
|
||||||
PyModule_AddObject(mod, "shader", (submodule = BPyInit_gpu_shader()));
|
PyModule_AddObject(mod, "shader", (submodule = BPyInit_gpu_shader()));
|
||||||
PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
|
PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
|
||||||
Py_INCREF(submodule);
|
|
||||||
|
|
||||||
PyModule_AddObject(submodule, "builtin", (subsubmodule = BPyInit_gpu_shader_builtin()));
|
PyModule_AddObject(submodule, "builtin", (subsubmodule = BPyInit_gpu_shader_builtin()));
|
||||||
PyDict_SetItem(sys_modules, PyModule_GetNameObject(subsubmodule), subsubmodule);
|
PyDict_SetItem(sys_modules, PyModule_GetNameObject(subsubmodule), subsubmodule);
|
||||||
Py_INCREF(subsubmodule);
|
|
||||||
|
|
||||||
return mod;
|
return mod;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3203,11 +3203,6 @@ PyObject *BPY_rna_props(void)
|
|||||||
submodule = PyModule_Create(&props_module);
|
submodule = PyModule_Create(&props_module);
|
||||||
PyDict_SetItemString(PyImport_GetModuleDict(), props_module.m_name, submodule);
|
PyDict_SetItemString(PyImport_GetModuleDict(), props_module.m_name, submodule);
|
||||||
|
|
||||||
/* INCREF since its its assumed that all these functions return the
|
|
||||||
* module with a new ref like PyDict_New, since they are passed to
|
|
||||||
* PyModule_AddObject which steals a ref */
|
|
||||||
Py_INCREF(submodule);
|
|
||||||
|
|
||||||
/* api needs the PyObjects internally */
|
/* api needs the PyObjects internally */
|
||||||
submodule_dict = PyModule_GetDict(submodule);
|
submodule_dict = PyModule_GetDict(submodule);
|
||||||
|
|
||||||
|
|||||||
@@ -323,7 +323,6 @@ PyObject *BPY_utils_units(void)
|
|||||||
|
|
||||||
submodule = PyModule_Create(&bpyunits_module);
|
submodule = PyModule_Create(&bpyunits_module);
|
||||||
PyDict_SetItemString(PyImport_GetModuleDict(), bpyunits_module.m_name, submodule);
|
PyDict_SetItemString(PyImport_GetModuleDict(), bpyunits_module.m_name, submodule);
|
||||||
Py_INCREF(submodule);
|
|
||||||
|
|
||||||
/* Finalize our unit systems and types structseq definitions! */
|
/* Finalize our unit systems and types structseq definitions! */
|
||||||
|
|
||||||
|
|||||||
@@ -645,30 +645,25 @@ PyMODINIT_FUNC PyInit_mathutils(void)
|
|||||||
* 'from mathutils.geometry import PolyFill'
|
* 'from mathutils.geometry import PolyFill'
|
||||||
* ...fails without this. */
|
* ...fails without this. */
|
||||||
PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
|
PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
|
||||||
Py_INCREF(submodule);
|
|
||||||
|
|
||||||
PyModule_AddObject(mod, "interpolate", (submodule = PyInit_mathutils_interpolate()));
|
PyModule_AddObject(mod, "interpolate", (submodule = PyInit_mathutils_interpolate()));
|
||||||
/* XXX, python doesnt do imports with this usefully yet
|
/* XXX, python doesnt do imports with this usefully yet
|
||||||
* 'from mathutils.geometry import PolyFill'
|
* 'from mathutils.geometry import PolyFill'
|
||||||
* ...fails without this. */
|
* ...fails without this. */
|
||||||
PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
|
PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
|
||||||
Py_INCREF(submodule);
|
|
||||||
|
|
||||||
#ifndef MATH_STANDALONE
|
#ifndef MATH_STANDALONE
|
||||||
/* Noise submodule */
|
/* Noise submodule */
|
||||||
PyModule_AddObject(mod, "noise", (submodule = PyInit_mathutils_noise()));
|
PyModule_AddObject(mod, "noise", (submodule = PyInit_mathutils_noise()));
|
||||||
PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
|
PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
|
||||||
Py_INCREF(submodule);
|
|
||||||
|
|
||||||
/* BVHTree submodule */
|
/* BVHTree submodule */
|
||||||
PyModule_AddObject(mod, "bvhtree", (submodule = PyInit_mathutils_bvhtree()));
|
PyModule_AddObject(mod, "bvhtree", (submodule = PyInit_mathutils_bvhtree()));
|
||||||
PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
|
PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
|
||||||
Py_INCREF(submodule);
|
|
||||||
|
|
||||||
/* KDTree submodule */
|
/* KDTree submodule */
|
||||||
PyModule_AddObject(mod, "kdtree", (submodule = PyInit_mathutils_kdtree()));
|
PyModule_AddObject(mod, "kdtree", (submodule = PyInit_mathutils_kdtree()));
|
||||||
PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
|
PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
|
||||||
Py_INCREF(submodule);
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
mathutils_matrix_row_cb_index = Mathutils_RegisterCallback(&mathutils_matrix_row_cb);
|
mathutils_matrix_row_cb_index = Mathutils_RegisterCallback(&mathutils_matrix_row_cb);
|
||||||
|
|||||||
Reference in New Issue
Block a user