commit fce4c8799bcddb8a159d4c3cd1480cf174d02ee4 Author: CYBERDEViL Date: Sat Dec 16 02:43:28 2023 +0100 python3.8: "Cleanup: define PY_SSIZE_T_CLEAN for Python" Fully applied Blender upstream ref: 9dd5e3b6e89ca0be4207e64439f292519eaf7e6e commit 89c9462c0a921b6af37043ee2ab147c60cd0f422 Author: CYBERDEViL Date: Sat Dec 16 01:49:26 2023 +0100 python3.8: "PyAPI: use public API's for module & builtin access" Partially applied Blender upstream ref: e413b39a936181cc954dfbf054b0a19794d8902c commit 2b0312742399a9143f33a78a4f5ceedd08d178d6 Author: CYBERDEViL Date: Sat Dec 16 00:53:34 2023 +0100 python3.8: "Cleanup: warnings building with Python 3.8" Adjusted Blender upstream ref: 36b6fb5cd600a7067d24cfe836c0af4d94e083e4 commit 2093b30818fcddf1f0d2d0011bae023d9124b351 Author: CYBERDEViL Date: Sat Dec 16 00:23:26 2023 +0100 python3.8: "Cleanup: use PyImport_GetModuleDict" Adjusted Blender upstream ref: 44f719b63238503ef8f933f55383c6d4798995cc diff --git a/blender-2.79b/source/blender/python/bmesh/bmesh_py_api.c b/blender-2.79b/source/blender/python/bmesh/bmesh_py_api.c index d5973ba..d7324ea 100644 --- a/blender-2.79b/source/blender/python/bmesh/bmesh_py_api.c +++ b/blender-2.79b/source/blender/python/bmesh/bmesh_py_api.c @@ -196,7 +196,7 @@ PyObject *BPyInit_bmesh(void) { PyObject *mod; PyObject *submodule; - PyObject *sys_modules = PyThreadState_GET()->interp->modules; + PyObject *sys_modules = PyImport_GetModuleDict(); BPy_BM_init_types(); BPy_BM_init_types_select(); diff --git a/blender-2.79b/source/blender/python/bmesh/bmesh_py_ops.c b/blender-2.79b/source/blender/python/bmesh/bmesh_py_ops.c index ee96c85..ea37159 100644 --- a/blender-2.79b/source/blender/python/bmesh/bmesh_py_ops.c +++ b/blender-2.79b/source/blender/python/bmesh/bmesh_py_ops.c @@ -142,7 +142,7 @@ static PyTypeObject bmesh_op_Type = { 0, /* tp_itemsize */ /* methods */ NULL, /* tp_dealloc */ - NULL, /* printfunc tp_print; */ + (printfunc)NULL, /* printfunc tp_print; */ NULL, /* getattrfunc tp_getattr; */ NULL, /* setattrfunc tp_setattr; */ NULL, /* tp_compare */ /* DEPRECATED in python 3.0! */ @@ -260,7 +260,7 @@ static PyTypeObject bmesh_ops_fakemod_Type = { 0, /* tp_itemsize */ /* methods */ NULL, /* tp_dealloc */ - NULL, /* printfunc tp_print; */ + (printfunc)NULL, /* printfunc tp_print; */ NULL, /* getattrfunc tp_getattr; */ NULL, /* setattrfunc tp_setattr; */ NULL, /* tp_compare */ /* DEPRECATED in python 3.0! */ diff --git a/blender-2.79b/source/blender/python/generic/blf_py_api.c b/blender-2.79b/source/blender/python/generic/blf_py_api.c index 69f1e29..bf8259f 100644 --- a/blender-2.79b/source/blender/python/generic/blf_py_api.c +++ b/blender-2.79b/source/blender/python/generic/blf_py_api.c @@ -26,6 +26,9 @@ * This file defines the 'bgl' module, used for drawing text in OpenGL. */ +/* Future-proof, See https://docs.python.org/3/c-api/arg.html#strings-and-buffers */ +#define PY_SSIZE_T_CLEAN + #include #include "blf_py_api.h" @@ -150,7 +153,7 @@ PyDoc_STRVAR(py_blf_draw_doc, static PyObject *py_blf_draw(PyObject *UNUSED(self), PyObject *args) { const char *text; - int text_length; + Py_ssize_t text_length; int fontid; if (!PyArg_ParseTuple(args, "is#:blf.draw", &fontid, &text, &text_length)) diff --git a/blender-2.79b/source/blender/python/generic/idprop_py_api.c b/blender-2.79b/source/blender/python/generic/idprop_py_api.c index 5d6a7c5..576f114 100644 --- a/blender-2.79b/source/blender/python/generic/idprop_py_api.c +++ b/blender-2.79b/source/blender/python/generic/idprop_py_api.c @@ -1166,7 +1166,7 @@ PyTypeObject BPy_IDGroup_Type = { /* Methods to implement standard operations */ NULL, /* destructor tp_dealloc; */ - NULL, /* printfunc tp_print; */ + (printfunc)NULL, /* printfunc tp_print; */ NULL, /* getattrfunc tp_getattr; */ NULL, /* setattrfunc tp_setattr; */ NULL, /* cmpfunc tp_compare; */ @@ -1560,7 +1560,7 @@ PyTypeObject BPy_IDArray_Type = { /* Methods to implement standard operations */ NULL, /* destructor tp_dealloc; */ - NULL, /* printfunc tp_print; */ + (printfunc)NULL, /* printfunc tp_print; */ NULL, /* getattrfunc tp_getattr; */ NULL, /* setattrfunc tp_setattr; */ NULL, /* cmpfunc tp_compare; */ @@ -1675,7 +1675,7 @@ PyTypeObject BPy_IDGroup_Iter_Type = { /* Methods to implement standard operations */ NULL, /* destructor tp_dealloc; */ - NULL, /* printfunc tp_print; */ + (printfunc)NULL, /* printfunc tp_print; */ NULL, /* getattrfunc tp_getattr; */ NULL, /* setattrfunc tp_setattr; */ NULL, /* cmpfunc tp_compare; */ @@ -1792,7 +1792,7 @@ PyObject *BPyInit_idprop(void) { PyObject *mod; PyObject *submodule; - PyObject *sys_modules = PyThreadState_GET()->interp->modules; + PyObject *sys_modules = PyImport_GetModuleDict(); mod = PyModule_Create(&IDProp_module_def); diff --git a/blender-2.79b/source/blender/python/generic/py_capi_utils.c b/blender-2.79b/source/blender/python/generic/py_capi_utils.c index 861e2db..f4a2595 100644 --- a/blender-2.79b/source/blender/python/generic/py_capi_utils.c +++ b/blender-2.79b/source/blender/python/generic/py_capi_utils.c @@ -29,6 +29,9 @@ * BLI_string_utf8() for unicode conversion. */ +/* Future-proof, See https://docs.python.org/3/c-api/arg.html#strings-and-buffers */ +#define PY_SSIZE_T_CLEAN + #include #include @@ -638,9 +641,10 @@ PyObject *PyC_UnicodeFromByte(const char *str) ****************************************************************************/ PyObject *PyC_DefaultNameSpace(const char *filename) { - PyInterpreterState *interp = PyThreadState_GET()->interp; + PyObject *modules = PyImport_GetModuleDict(); + PyObject *builtins = PyEval_GetBuiltins(); PyObject *mod_main = PyModule_New("__main__"); - PyDict_SetItemString(interp->modules, "__main__", mod_main); + PyDict_SetItemString(modules, "__main__", mod_main); Py_DECREF(mod_main); /* sys.modules owns now */ PyModule_AddStringConstant(mod_main, "__name__", "__main__"); if (filename) { @@ -648,23 +652,23 @@ PyObject *PyC_DefaultNameSpace(const char *filename) * note: this wont map to a real file when executing text-blocks and buttons. */ PyModule_AddObject(mod_main, "__file__", PyC_UnicodeFromByte(filename)); } - PyModule_AddObject(mod_main, "__builtins__", interp->builtins); - Py_INCREF(interp->builtins); /* AddObject steals a reference */ + PyModule_AddObject(mod_main, "__builtins__", builtins); + Py_INCREF(builtins); /* AddObject steals a reference */ return PyModule_GetDict(mod_main); } /* restore MUST be called after this */ void PyC_MainModule_Backup(PyObject **main_mod) { - PyInterpreterState *interp = PyThreadState_GET()->interp; - *main_mod = PyDict_GetItemString(interp->modules, "__main__"); + PyObject *modules = PyImport_GetModuleDict(); + *main_mod = PyDict_GetItemString(modules, "__main__"); Py_XINCREF(*main_mod); /* don't free */ } void PyC_MainModule_Restore(PyObject *main_mod) { - PyInterpreterState *interp = PyThreadState_GET()->interp; - PyDict_SetItemString(interp->modules, "__main__", main_mod); + PyObject *modules = PyImport_GetModuleDict(); + PyDict_SetItemString(modules, "__main__", main_mod); Py_XDECREF(main_mod); } @@ -732,7 +736,7 @@ void PyC_RunQuicky(const char *filepath, int n, ...) va_list vargs; - int *sizes = PyMem_MALLOC(sizeof(int) * (n / 2)); + Py_ssize_t *sizes = PyMem_MALLOC(sizeof(*sizes) * (n / 2)); int i; PyObject *py_dict = PyC_DefaultNameSpace(filepath); diff --git a/blender-2.79b/source/blender/python/intern/bpy_app_translations.c b/blender-2.79b/source/blender/python/intern/bpy_app_translations.c index 6ba858f..1b853be 100644 --- a/blender-2.79b/source/blender/python/intern/bpy_app_translations.c +++ b/blender-2.79b/source/blender/python/intern/bpy_app_translations.c @@ -714,7 +714,7 @@ static PyTypeObject BlenderAppTranslationsType = { /* methods */ /* No destructor, this is a singleton! */ NULL, /* tp_dealloc */ - NULL, /* printfunc tp_print; */ + (printfunc)NULL, /* printfunc tp_print; */ NULL, /* getattrfunc tp_getattr; */ NULL, /* setattrfunc tp_setattr; */ NULL, /* tp_compare */ /* DEPRECATED in python 3.0! */ diff --git a/blender-2.79b/source/blender/python/intern/bpy_interface.c b/blender-2.79b/source/blender/python/intern/bpy_interface.c index 6077418..0d36ba1 100644 --- a/blender-2.79b/source/blender/python/intern/bpy_interface.c +++ b/blender-2.79b/source/blender/python/intern/bpy_interface.c @@ -529,7 +529,7 @@ static bool python_script_exec( if (py_dict) { #ifdef PYMODULE_CLEAR_WORKAROUND - PyModuleObject *mmod = (PyModuleObject *)PyDict_GetItemString(PyThreadState_GET()->interp->modules, "__main__"); + PyModuleObject *mmod = (PyModuleObject *)PyDict_GetItemString(PyImport_GetModuleDict(), "__main__"); PyObject *dict_back = mmod->md_dict; /* freeing the module will clear the namespace, * gives problems running classes defined in this namespace being used later. */ diff --git a/blender-2.79b/source/blender/python/intern/bpy_library_load.c b/blender-2.79b/source/blender/python/intern/bpy_library_load.c index cb6a714..c8fd392 100644 --- a/blender-2.79b/source/blender/python/intern/bpy_library_load.c +++ b/blender-2.79b/source/blender/python/intern/bpy_library_load.c @@ -98,7 +98,7 @@ static PyTypeObject bpy_lib_Type = { 0, /* tp_itemsize */ /* methods */ (destructor)bpy_lib_dealloc, /* tp_dealloc */ - NULL, /* printfunc tp_print; */ + (printfunc)NULL, /* printfunc tp_print; */ NULL, /* getattrfunc tp_getattr; */ NULL, /* setattrfunc tp_setattr; */ NULL, /* tp_compare */ /* DEPRECATED in python 3.0! */ diff --git a/blender-2.79b/source/blender/python/intern/bpy_props.c b/blender-2.79b/source/blender/python/intern/bpy_props.c index 3a18167..2b8e356 100644 --- a/blender-2.79b/source/blender/python/intern/bpy_props.c +++ b/blender-2.79b/source/blender/python/intern/bpy_props.c @@ -28,6 +28,8 @@ * existing blender types. */ +/* Future-proof, See https://docs.python.org/3/c-api/arg.html#strings-and-buffers */ +#define PY_SSIZE_T_CLEAN #include @@ -2012,7 +2014,7 @@ static PyObject *BPy_BoolProperty(PyObject *self, PyObject *args, PyObject *kw) static const char *kwlist[] = {"attr", "name", "description", "default", "options", "subtype", "update", "get", "set", NULL}; const char *id = NULL, *name = NULL, *description = ""; - int id_len; + Py_ssize_t id_len; bool def = false; PropertyRNA *prop; PyObject *pyopts = NULL; @@ -2094,7 +2096,7 @@ static PyObject *BPy_BoolVectorProperty(PyObject *self, PyObject *args, PyObject static const char *kwlist[] = {"attr", "name", "description", "default", "options", "subtype", "size", "update", "get", "set", NULL}; const char *id = NULL, *name = NULL, *description = ""; - int id_len; + Py_ssize_t id_len; int def[PYRNA_STACK_ARRAY] = {0}; int size = 3; PropertyRNA *prop; @@ -2199,7 +2201,7 @@ static PyObject *BPy_IntProperty(PyObject *self, PyObject *args, PyObject *kw) "min", "max", "soft_min", "soft_max", "step", "options", "subtype", "update", "get", "set", NULL}; const char *id = NULL, *name = NULL, *description = ""; - int id_len; + Py_ssize_t id_len; int min = INT_MIN, max = INT_MAX, soft_min = INT_MIN, soft_max = INT_MAX, step = 1, def = 0; PropertyRNA *prop; PyObject *pyopts = NULL; @@ -2296,7 +2298,7 @@ static PyObject *BPy_IntVectorProperty(PyObject *self, PyObject *args, PyObject "min", "max", "soft_min", "soft_max", "step", "options", "subtype", "size", "update", "get", "set", NULL}; const char *id = NULL, *name = NULL, *description = ""; - int id_len; + Py_ssize_t id_len; int min = INT_MIN, max = INT_MAX, soft_min = INT_MIN, soft_max = INT_MAX, step = 1; int def[PYRNA_STACK_ARRAY] = {0}; int size = 3; @@ -2410,7 +2412,7 @@ static PyObject *BPy_FloatProperty(PyObject *self, PyObject *args, PyObject *kw) "step", "precision", "options", "subtype", "unit", "update", "get", "set", NULL}; const char *id = NULL, *name = NULL, *description = ""; - int id_len; + Py_ssize_t id_len; float min = -FLT_MAX, max = FLT_MAX, soft_min = -FLT_MAX, soft_max = FLT_MAX, step = 3, def = 0.0f; int precision = 2; PropertyRNA *prop; @@ -2521,7 +2523,7 @@ static PyObject *BPy_FloatVectorProperty(PyObject *self, PyObject *args, PyObjec "step", "precision", "options", "subtype", "unit", "size", "update", "get", "set", NULL}; const char *id = NULL, *name = NULL, *description = ""; - int id_len; + Py_ssize_t id_len; float min = -FLT_MAX, max = FLT_MAX, soft_min = -FLT_MAX, soft_max = FLT_MAX, step = 3; float def[PYRNA_STACK_ARRAY] = {0.0f}; int precision = 2, size = 3; @@ -2628,7 +2630,7 @@ static PyObject *BPy_StringProperty(PyObject *self, PyObject *args, PyObject *kw static const char *kwlist[] = {"attr", "name", "description", "default", "maxlen", "options", "subtype", "update", "get", "set", NULL}; const char *id = NULL, *name = NULL, *description = "", *def = ""; - int id_len; + Py_ssize_t id_len; int maxlen = 0; PropertyRNA *prop; PyObject *pyopts = NULL; @@ -2738,7 +2740,7 @@ static PyObject *BPy_EnumProperty(PyObject *self, PyObject *args, PyObject *kw) "options", "update", "get", "set", NULL}; const char *id = NULL, *name = NULL, *description = ""; PyObject *def = NULL; - int id_len; + Py_ssize_t id_len; int defvalue = 0; PyObject *items, *items_fast; EnumPropertyItem *eitems; @@ -2886,7 +2888,7 @@ PyObject *BPy_PointerProperty(PyObject *self, PyObject *args, PyObject *kw) if (srna) { static const char *kwlist[] = {"attr", "type", "name", "description", "options", "poll", "update", NULL}; const char *id = NULL, *name = NULL, *description = ""; - int id_len; + Py_ssize_t id_len; PropertyRNA *prop; StructRNA *ptype; PyObject *type = Py_None; @@ -2960,7 +2962,7 @@ PyObject *BPy_CollectionProperty(PyObject *self, PyObject *args, PyObject *kw) if (srna) { static const char *kwlist[] = {"attr", "type", "name", "description", "options", NULL}; const char *id = NULL, *name = NULL, *description = ""; - int id_len; + Py_ssize_t id_len; PropertyRNA *prop; StructRNA *ptype; PyObject *type = Py_None; diff --git a/blender-2.79b/source/blender/python/intern/bpy_rna.c b/blender-2.79b/source/blender/python/intern/bpy_rna.c index 832a872..b473398 100644 --- a/blender-2.79b/source/blender/python/intern/bpy_rna.c +++ b/blender-2.79b/source/blender/python/intern/bpy_rna.c @@ -5647,7 +5647,7 @@ PyTypeObject pyrna_struct_meta_idprop_Type = { 0, /* tp_itemsize */ /* methods */ NULL, /* tp_dealloc */ - NULL, /* printfunc tp_print; */ + (printfunc)NULL, /* printfunc tp_print; */ NULL, /* getattrfunc tp_getattr; */ NULL, /* setattrfunc tp_setattr; */ NULL, /* tp_compare */ /* deprecated in python 3.0! */ @@ -5729,7 +5729,7 @@ PyTypeObject pyrna_struct_Type = { 0, /* tp_itemsize */ /* methods */ (destructor) pyrna_struct_dealloc, /* tp_dealloc */ - NULL, /* printfunc tp_print; */ + (printfunc)NULL, /* printfunc tp_print; */ NULL, /* getattrfunc tp_getattr; */ NULL, /* setattrfunc tp_setattr; */ NULL, /* tp_compare */ /* DEPRECATED in python 3.0! */ @@ -5818,7 +5818,7 @@ PyTypeObject pyrna_prop_Type = { 0, /* tp_itemsize */ /* methods */ (destructor) pyrna_prop_dealloc, /* tp_dealloc */ - NULL, /* printfunc tp_print; */ + (printfunc)NULL, /* printfunc tp_print; */ NULL, /* getattrfunc tp_getattr; */ NULL, /* setattrfunc tp_setattr; */ NULL, /* tp_compare */ /* DEPRECATED in python 3.0! */ @@ -5902,7 +5902,7 @@ PyTypeObject pyrna_prop_array_Type = { 0, /* tp_itemsize */ /* methods */ (destructor)pyrna_prop_array_dealloc, /* tp_dealloc */ - NULL, /* printfunc tp_print; */ + (printfunc)NULL, /* printfunc tp_print; */ NULL, /* getattrfunc tp_getattr; */ NULL, /* setattrfunc tp_setattr; */ NULL, /* tp_compare */ /* DEPRECATED in python 3.0! */ @@ -5985,7 +5985,7 @@ PyTypeObject pyrna_prop_collection_Type = { 0, /* tp_itemsize */ /* methods */ (destructor)pyrna_prop_dealloc, /* tp_dealloc */ - NULL, /* printfunc tp_print; */ + (printfunc)NULL, /* printfunc tp_print; */ NULL, /* getattrfunc tp_getattr; */ NULL, /* setattrfunc tp_setattr; */ NULL, /* tp_compare */ /* DEPRECATED in python 3.0! */ @@ -6070,7 +6070,7 @@ static PyTypeObject pyrna_prop_collection_idprop_Type = { 0, /* tp_itemsize */ /* methods */ (destructor)pyrna_prop_dealloc, /* tp_dealloc */ - NULL, /* printfunc tp_print; */ + (printfunc)NULL, /* printfunc tp_print; */ NULL, /* getattrfunc tp_getattr; */ NULL, /* setattrfunc tp_setattr; */ NULL, /* tp_compare */ /* DEPRECATED in python 3.0! */ @@ -6155,7 +6155,7 @@ PyTypeObject pyrna_func_Type = { 0, /* tp_itemsize */ /* methods */ NULL, /* tp_dealloc */ - NULL, /* printfunc tp_print; */ + (printfunc)NULL, /* printfunc tp_print; */ NULL, /* getattrfunc tp_getattr; */ NULL, /* setattrfunc tp_setattr; */ NULL, /* tp_compare */ /* DEPRECATED in python 3.0! */ @@ -6251,7 +6251,7 @@ static PyTypeObject pyrna_prop_collection_iter_Type = { 0, /* tp_itemsize */ /* methods */ (destructor)pyrna_prop_collection_iter_dealloc, /* tp_dealloc */ - NULL, /* printfunc tp_print; */ + (printfunc)NULL, /* printfunc tp_print; */ NULL, /* getattrfunc tp_getattr; */ NULL, /* setattrfunc tp_setattr; */ NULL, /* tp_compare */ /* DEPRECATED in python 3.0! */ diff --git a/blender-2.79b/source/blender/python/intern/gpu.c b/blender-2.79b/source/blender/python/intern/gpu.c index 48230a7..25016c5 100644 --- a/blender-2.79b/source/blender/python/intern/gpu.c +++ b/blender-2.79b/source/blender/python/intern/gpu.c @@ -323,7 +323,7 @@ PyObject *GPU_initPython(void) { PyObject *module; PyObject *submodule; - PyObject *sys_modules = PyThreadState_GET()->interp->modules; + PyObject *sys_modules = PyImport_GetModuleDict(); module = PyInit_gpu(); @@ -334,7 +334,7 @@ PyObject *GPU_initPython(void) PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule); Py_INCREF(submodule); - PyDict_SetItem(PyImport_GetModuleDict(), PyModule_GetNameObject(module), module); + PyDict_SetItem(sys_modules, PyModule_GetNameObject(module), module); return module; } diff --git a/blender-2.79b/source/blender/python/intern/gpu_offscreen.c b/blender-2.79b/source/blender/python/intern/gpu_offscreen.c index 7711ce1..d301599 100644 --- a/blender-2.79b/source/blender/python/intern/gpu_offscreen.c +++ b/blender-2.79b/source/blender/python/intern/gpu_offscreen.c @@ -293,7 +293,7 @@ static PyTypeObject BPy_GPUOffScreen_Type = { 0, /* tp_itemsize */ /* methods */ (destructor)BPy_GPUOffScreen__tp_dealloc, /* tp_dealloc */ - NULL, /* tp_print */ + (printfunc)NULL, /* tp_print */ NULL, /* tp_getattr */ NULL, /* tp_setattr */ NULL, /* tp_compare */ diff --git a/blender-2.79b/source/blender/python/mathutils/mathutils.c b/blender-2.79b/source/blender/python/mathutils/mathutils.c index 96ae0a9..21d3624 100644 --- a/blender-2.79b/source/blender/python/mathutils/mathutils.c +++ b/blender-2.79b/source/blender/python/mathutils/mathutils.c @@ -622,7 +622,7 @@ PyMODINIT_FUNC PyInit_mathutils(void) { PyObject *mod; PyObject *submodule; - PyObject *sys_modules = PyThreadState_GET()->interp->modules; + PyObject *sys_modules = PyImport_GetModuleDict(); if (PyType_Ready(&vector_Type) < 0) return NULL; diff --git a/blender-2.79b/source/blender/python/mathutils/mathutils_Color.c b/blender-2.79b/source/blender/python/mathutils/mathutils_Color.c index 9997cd9..b12982e 100644 --- a/blender-2.79b/source/blender/python/mathutils/mathutils_Color.c +++ b/blender-2.79b/source/blender/python/mathutils/mathutils_Color.c @@ -846,7 +846,7 @@ PyTypeObject color_Type = { sizeof(ColorObject), /* tp_basicsize */ 0, /* tp_itemsize */ (destructor)BaseMathObject_dealloc, /* tp_dealloc */ - NULL, /* tp_print */ + (printfunc)NULL, /* tp_print */ NULL, /* tp_getattr */ NULL, /* tp_setattr */ NULL, /* tp_compare */ diff --git a/blender-2.79b/source/blender/python/mathutils/mathutils_Euler.c b/blender-2.79b/source/blender/python/mathutils/mathutils_Euler.c index 9492b6d..494b5ea 100644 --- a/blender-2.79b/source/blender/python/mathutils/mathutils_Euler.c +++ b/blender-2.79b/source/blender/python/mathutils/mathutils_Euler.c @@ -700,7 +700,7 @@ PyTypeObject euler_Type = { sizeof(EulerObject), /* tp_basicsize */ 0, /* tp_itemsize */ (destructor)BaseMathObject_dealloc, /* tp_dealloc */ - NULL, /* tp_print */ + (printfunc)NULL, /* tp_print */ NULL, /* tp_getattr */ NULL, /* tp_setattr */ NULL, /* tp_compare */ diff --git a/blender-2.79b/source/blender/python/mathutils/mathutils_Matrix.c b/blender-2.79b/source/blender/python/mathutils/mathutils_Matrix.c index e368e88..1b05aae 100644 --- a/blender-2.79b/source/blender/python/mathutils/mathutils_Matrix.c +++ b/blender-2.79b/source/blender/python/mathutils/mathutils_Matrix.c @@ -2768,7 +2768,7 @@ PyTypeObject matrix_Type = { sizeof(MatrixObject), /*tp_basicsize*/ 0, /*tp_itemsize*/ (destructor)BaseMathObject_dealloc, /*tp_dealloc*/ - NULL, /*tp_print*/ + (printfunc)NULL, /*tp_print*/ NULL, /*tp_getattr*/ NULL, /*tp_setattr*/ NULL, /*tp_compare*/ @@ -3092,7 +3092,7 @@ PyTypeObject matrix_access_Type = { sizeof(MatrixAccessObject), /*tp_basicsize*/ 0, /*tp_itemsize*/ (destructor)MatrixAccess_dealloc, /*tp_dealloc*/ - NULL, /*tp_print*/ + (printfunc)NULL, /*tp_print*/ NULL, /*tp_getattr*/ NULL, /*tp_setattr*/ NULL, /*tp_compare*/ diff --git a/blender-2.79b/source/blender/python/mathutils/mathutils_Quaternion.c b/blender-2.79b/source/blender/python/mathutils/mathutils_Quaternion.c index d283c71..02aabd0 100644 --- a/blender-2.79b/source/blender/python/mathutils/mathutils_Quaternion.c +++ b/blender-2.79b/source/blender/python/mathutils/mathutils_Quaternion.c @@ -1275,7 +1275,7 @@ PyTypeObject quaternion_Type = { sizeof(QuaternionObject), /* tp_basicsize */ 0, /* tp_itemsize */ (destructor)BaseMathObject_dealloc, /* tp_dealloc */ - NULL, /* tp_print */ + (printfunc)NULL, /* tp_print */ NULL, /* tp_getattr */ NULL, /* tp_setattr */ NULL, /* tp_compare */ diff --git a/blender-2.79b/source/blender/python/mathutils/mathutils_Vector.c b/blender-2.79b/source/blender/python/mathutils/mathutils_Vector.c index afc8a30..af73aa2 100644 --- a/blender-2.79b/source/blender/python/mathutils/mathutils_Vector.c +++ b/blender-2.79b/source/blender/python/mathutils/mathutils_Vector.c @@ -2887,7 +2887,7 @@ PyTypeObject vector_Type = { /* Methods to implement standard operations */ (destructor) BaseMathObject_dealloc, /* destructor tp_dealloc; */ - NULL, /* printfunc tp_print; */ + (printfunc)NULL, /* printfunc tp_print; */ NULL, /* getattrfunc tp_getattr; */ NULL, /* setattrfunc tp_setattr; */ NULL, /* cmpfunc tp_compare; */ diff --git a/blender-2.79b/source/blender/python/mathutils/mathutils_bvhtree.c b/blender-2.79b/source/blender/python/mathutils/mathutils_bvhtree.c index 30c0cda..c3b28e7 100644 --- a/blender-2.79b/source/blender/python/mathutils/mathutils_bvhtree.c +++ b/blender-2.79b/source/blender/python/mathutils/mathutils_bvhtree.c @@ -1243,7 +1243,7 @@ PyTypeObject PyBVHTree_Type = { 0, /* tp_itemsize */ /* methods */ (destructor)py_bvhtree__tp_dealloc, /* tp_dealloc */ - NULL, /* tp_print */ + (printfunc)NULL, /* tp_print */ NULL, /* tp_getattr */ NULL, /* tp_setattr */ NULL, /* tp_compare */ diff --git a/blender-2.79b/source/blender/python/mathutils/mathutils_kdtree.c b/blender-2.79b/source/blender/python/mathutils/mathutils_kdtree.c index ca66c19..2e36a08 100644 --- a/blender-2.79b/source/blender/python/mathutils/mathutils_kdtree.c +++ b/blender-2.79b/source/blender/python/mathutils/mathutils_kdtree.c @@ -415,7 +415,7 @@ PyTypeObject PyKDTree_Type = { 0, /* tp_itemsize */ /* methods */ (destructor)PyKDTree__tp_dealloc, /* tp_dealloc */ - NULL, /* tp_print */ + (printfunc)NULL, /* tp_print */ NULL, /* tp_getattr */ NULL, /* tp_setattr */ NULL, /* tp_compare */ diff --git a/blender-2.79b/source/blender/python/mathutils/mathutils_noise.c b/blender-2.79b/source/blender/python/mathutils/mathutils_noise.c index 143e51e..f9d128f 100644 --- a/blender-2.79b/source/blender/python/mathutils/mathutils_noise.c +++ b/blender-2.79b/source/blender/python/mathutils/mathutils_noise.c @@ -842,16 +842,17 @@ PyMODINIT_FUNC PyInit_mathutils_noise(void) { PyObject *submodule = PyModule_Create(&M_Noise_module_def); PyObject *item_types, *item_metrics; + PyObject *sys_modules = PyImport_GetModuleDict(); /* use current time as seed for random number generator by default */ setRndSeed(0); PyModule_AddObject(submodule, "types", (item_types = PyInit_mathutils_noise_types())); - PyDict_SetItemString(PyThreadState_GET()->interp->modules, "noise.types", item_types); + PyDict_SetItemString(sys_modules, "noise.types", item_types); Py_INCREF(item_types); PyModule_AddObject(submodule, "distance_metrics", (item_metrics = PyInit_mathutils_noise_metrics())); - PyDict_SetItemString(PyThreadState_GET()->interp->modules, "noise.distance_metrics", item_metrics); + PyDict_SetItemString(sys_modules, "noise.distance_metrics", item_metrics); Py_INCREF(item_metrics); return submodule; diff --git a/blender-2.79b/source/gameengine/Ketsji/KX_PythonInit.cpp b/blender-2.79b/source/gameengine/Ketsji/KX_PythonInit.cpp index 97a7e16..71e610d 100644 --- a/blender-2.79b/source/gameengine/Ketsji/KX_PythonInit.cpp +++ b/blender-2.79b/source/gameengine/Ketsji/KX_PythonInit.cpp @@ -1569,7 +1569,7 @@ PyTypeObject PyRASOffScreen_Type = { 0, /* tp_itemsize */ /* methods */ (destructor)PyRASOffScreen__tp_dealloc, /* tp_dealloc */ - NULL, /* tp_print */ + (printfunc)NULL, /* tp_print */ NULL, /* tp_getattr */ NULL, /* tp_setattr */ NULL, /* tp_compare */ @@ -2239,7 +2239,7 @@ PyMODINIT_FUNC initBGE(void) { PyObject *mod; PyObject *submodule; - PyObject *sys_modules = PyThreadState_GET()->interp->modules; + PyObject *sys_modules = PyImport_GetModuleDict(); const char *mod_full; mod = PyModule_Create(&BGE_module_def);