From 5b8af1d1f1940a879e81fdb0107eb4cf42455dd2 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 15 Jun 2015 21:11:45 +1000 Subject: Fix T44704: BGE regression importing bpy.types --- source/gameengine/Ketsji/KX_PythonInit.cpp | 36 ++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 12 deletions(-) (limited to 'source/gameengine/Ketsji/KX_PythonInit.cpp') diff --git a/source/gameengine/Ketsji/KX_PythonInit.cpp b/source/gameengine/Ketsji/KX_PythonInit.cpp index 6fdc53f9c64..80e56a450dd 100644 --- a/source/gameengine/Ketsji/KX_PythonInit.cpp +++ b/source/gameengine/Ketsji/KX_PythonInit.cpp @@ -2020,33 +2020,45 @@ PyMODINIT_FUNC initBGE(void) PyObject *mod; PyObject *submodule; PyObject *sys_modules = PyThreadState_GET()->interp->modules; + const char *mod_full; mod = PyModule_Create(&BGE_module_def); - PyModule_AddObject(mod, "constraints", (submodule = initConstraintPythonBinding())); - PyDict_SetItemString(sys_modules, PyModule_GetName(submodule), submodule); + /* skip "bge." */ +#define SUBMOD (mod_full + 4) + + mod_full = "bge.constraints"; + PyModule_AddObject(mod, SUBMOD, (submodule = initConstraintPythonBinding())); + PyDict_SetItemString(sys_modules, mod_full, submodule); Py_INCREF(submodule); - PyModule_AddObject(mod, "events", (submodule = initGameKeysPythonBinding())); - PyDict_SetItemString(sys_modules, PyModule_GetName(submodule), submodule); + mod_full = "bge.events"; + PyModule_AddObject(mod, SUBMOD, (submodule = initGameKeysPythonBinding())); + PyDict_SetItemString(sys_modules, mod_full, submodule); Py_INCREF(submodule); - PyModule_AddObject(mod, "logic", (submodule = initGameLogicPythonBinding())); - PyDict_SetItemString(sys_modules, PyModule_GetName(submodule), submodule); + mod_full = "bge.logic"; + PyModule_AddObject(mod, SUBMOD, (submodule = initGameLogicPythonBinding())); + PyDict_SetItemString(sys_modules, mod_full, submodule); Py_INCREF(submodule); - PyModule_AddObject(mod, "render", (submodule = initRasterizerPythonBinding())); - PyDict_SetItemString(sys_modules, PyModule_GetName(submodule), submodule); + mod_full = "bge.render"; + PyModule_AddObject(mod, SUBMOD, (submodule = initRasterizerPythonBinding())); + PyDict_SetItemString(sys_modules, mod_full, submodule); Py_INCREF(submodule); - PyModule_AddObject(mod, "texture", (submodule = initVideoTexturePythonBinding())); - PyDict_SetItemString(sys_modules, PyModule_GetName(submodule), submodule); + mod_full = "bge.texture"; + PyModule_AddObject(mod, SUBMOD, (submodule = initVideoTexturePythonBinding())); + PyDict_SetItemString(sys_modules, mod_full, submodule); Py_INCREF(submodule); - PyModule_AddObject(mod, "types", (submodule = initGameTypesPythonBinding())); - PyDict_SetItemString(sys_modules, PyModule_GetName(submodule), submodule); + mod_full = "bge.types"; + PyModule_AddObject(mod, SUBMOD, (submodule = initGameTypesPythonBinding())); + PyDict_SetItemString(sys_modules, mod_full, submodule); Py_INCREF(submodule); +#undef SUBMOD + return mod; } -- cgit v1.2.3