Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2015-06-15 14:11:45 +0300
committerCampbell Barton <ideasman42@gmail.com>2015-06-15 14:11:45 +0300
commit5b8af1d1f1940a879e81fdb0107eb4cf42455dd2 (patch)
tree6edd5bd8a204b7846f48d2c898e2ab6516d5f37d /source/gameengine
parentedfe2d669146cec3f89d722bfd30502cbdf59795 (diff)
Fix T44704: BGE regression importing bpy.types
Diffstat (limited to 'source/gameengine')
-rw-r--r--source/gameengine/Ketsji/KX_PythonInit.cpp36
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;
}