[Bf-blender-cvs] [cf03658adbb] blender2.8: Fix misuse of Py_INCREF in module creation.

mano-wii noreply at git.blender.org
Tue Oct 9 01:02:40 CEST 2018


Commit: cf03658adbbc17d093be123c06d1611c25c7fea6
Author: mano-wii
Date:   Mon Oct 8 20:01:55 2018 -0300
Branches: blender2.8
https://developer.blender.org/rBcf03658adbbc17d093be123c06d1611c25c7fea6

Fix misuse of Py_INCREF in module creation.

Differential Revision: https://developer.blender.org/D3697

===================================================================

M	source/blender/python/bmesh/bmesh_py_api.c
M	source/blender/python/generic/idprop_py_api.c
M	source/blender/python/gpu/gpu_py_api.c
M	source/blender/python/intern/bpy_props.c
M	source/blender/python/intern/bpy_utils_units.c
M	source/blender/python/mathutils/mathutils.c

===================================================================

diff --git a/source/blender/python/bmesh/bmesh_py_api.c b/source/blender/python/bmesh/bmesh_py_api.c
index 7669f7eb1fd..3edd2bac244 100644
--- a/source/blender/python/bmesh/bmesh_py_api.c
+++ b/source/blender/python/bmesh/bmesh_py_api.c
@@ -203,21 +203,17 @@ PyObject *BPyInit_bmesh(void)
 	/* bmesh.types */
 	PyModule_AddObject(mod, "types", (submodule = BPyInit_bmesh_types()));
 	PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
-	Py_INCREF(submodule);
 
 	/* bmesh.ops (not a real module, exposes module like access). */
 	PyModule_AddObject(mod, "ops", (submodule = BPyInit_bmesh_ops()));
 	/* PyDict_SetItemString(sys_modules, PyModule_GetNameObject(submodule), submodule); */
 	PyDict_SetItemString(sys_modules, "bmesh.ops", submodule); /* fake module */
-	Py_INCREF(submodule);
 
 	PyModule_AddObject(mod, "utils", (submodule = BPyInit_bmesh_utils()));
 	PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
-	Py_INCREF(submodule);
 
 	PyModule_AddObject(mod, "geometry", (submodule = BPyInit_bmesh_geometry()));
 	PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
-	Py_INCREF(submodule);
 
 	return mod;
 }
diff --git a/source/blender/python/generic/idprop_py_api.c b/source/blender/python/generic/idprop_py_api.c
index 03ec8e54d07..072c11b14e5 100644
--- a/source/blender/python/generic/idprop_py_api.c
+++ b/source/blender/python/generic/idprop_py_api.c
@@ -1811,7 +1811,6 @@ PyObject *BPyInit_idprop(void)
 	/* idprop.types */
 	PyModule_AddObject(mod, "types", (submodule = BPyInit_idprop_types()));
 	PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
-	Py_INCREF(submodule);
 
 	return mod;
 }
diff --git a/source/blender/python/gpu/gpu_py_api.c b/source/blender/python/gpu/gpu_py_api.c
index 8f22a287463..effc739ab43 100644
--- a/source/blender/python/gpu/gpu_py_api.c
+++ b/source/blender/python/gpu/gpu_py_api.c
@@ -71,23 +71,18 @@ PyObject *BPyInit_gpu(void)
 
 	PyModule_AddObject(mod, "types", (submodule = BPyInit_gpu_types()));
 	PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
-	Py_INCREF(submodule);
 
 	PyModule_AddObject(mod, "matrix", (submodule = BPyInit_gpu_matrix()));
 	PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
-	Py_INCREF(submodule);
 
 	PyModule_AddObject(mod, "select", (submodule = BPyInit_gpu_select()));
 	PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
-	Py_INCREF(submodule);
 
 	PyModule_AddObject(mod, "shader", (submodule = BPyInit_gpu_shader()));
 	PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
-	Py_INCREF(submodule);
 
 	PyModule_AddObject(submodule, "builtin", (subsubmodule = BPyInit_gpu_shader_builtin()));
 	PyDict_SetItem(sys_modules, PyModule_GetNameObject(subsubmodule), subsubmodule);
-	Py_INCREF(subsubmodule);
 
 	return mod;
 }
diff --git a/source/blender/python/intern/bpy_props.c b/source/blender/python/intern/bpy_props.c
index 0db2fc189c1..fef3a0703d2 100644
--- a/source/blender/python/intern/bpy_props.c
+++ b/source/blender/python/intern/bpy_props.c
@@ -3203,11 +3203,6 @@ PyObject *BPY_rna_props(void)
 	submodule = PyModule_Create(&props_module);
 	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 */
 	submodule_dict = PyModule_GetDict(submodule);
 
diff --git a/source/blender/python/intern/bpy_utils_units.c b/source/blender/python/intern/bpy_utils_units.c
index cbd8b67d1ce..1d1108e1af0 100644
--- a/source/blender/python/intern/bpy_utils_units.c
+++ b/source/blender/python/intern/bpy_utils_units.c
@@ -323,7 +323,6 @@ PyObject *BPY_utils_units(void)
 
 	submodule = PyModule_Create(&bpyunits_module);
 	PyDict_SetItemString(PyImport_GetModuleDict(), bpyunits_module.m_name, submodule);
-	Py_INCREF(submodule);
 
 	/* Finalize our unit systems and types structseq definitions! */
 
diff --git a/source/blender/python/mathutils/mathutils.c b/source/blender/python/mathutils/mathutils.c
index 566bac9cb09..07905d2be89 100644
--- a/source/blender/python/mathutils/mathutils.c
+++ b/source/blender/python/mathutils/mathutils.c
@@ -645,30 +645,25 @@ PyMODINIT_FUNC PyInit_mathutils(void)
 	 * 'from mathutils.geometry import PolyFill'
 	 * ...fails without this. */
 	PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
-	Py_INCREF(submodule);
 
 	PyModule_AddObject(mod, "interpolate",    (submodule = PyInit_mathutils_interpolate()));
 	/* XXX, python doesnt do imports with this usefully yet
 	 * 'from mathutils.geometry import PolyFill'
 	 * ...fails without this. */
 	PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
-	Py_INCREF(submodule);
 
 #ifndef MATH_STANDALONE
 	/* Noise submodule */
 	PyModule_AddObject(mod, "noise", (submodule = PyInit_mathutils_noise()));
 	PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
-	Py_INCREF(submodule);
 
 	/* BVHTree submodule */
 	PyModule_AddObject(mod, "bvhtree", (submodule = PyInit_mathutils_bvhtree()));
 	PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
-	Py_INCREF(submodule);
 
 	/* KDTree submodule */
 	PyModule_AddObject(mod, "kdtree", (submodule = PyInit_mathutils_kdtree()));
 	PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
-	Py_INCREF(submodule);
 #endif
 
 	mathutils_matrix_row_cb_index = Mathutils_RegisterCallback(&mathutils_matrix_row_cb);



More information about the Bf-blender-cvs mailing list