diff options
author | Campbell Barton <ideasman42@gmail.com> | 2015-06-15 14:11:45 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2015-06-15 14:11:45 +0300 |
commit | 5b8af1d1f1940a879e81fdb0107eb4cf42455dd2 (patch) | |
tree | 6edd5bd8a204b7846f48d2c898e2ab6516d5f37d /source | |
parent | edfe2d669146cec3f89d722bfd30502cbdf59795 (diff) |
Fix T44704: BGE regression importing bpy.types
Diffstat (limited to 'source')
-rw-r--r-- | source/gameengine/Ketsji/KX_PythonInit.cpp | 36 |
1 files changed, 24 insertions, 12 deletions
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; } |