bugfix [#23148] "ImportError: __import__ not found" on changing Render FPS
authorCampbell Barton <ideasman42@gmail.com>
Thu, 5 Aug 2010 03:25:45 +0000 (03:25 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Thu, 5 Aug 2010 03:25:45 +0000 (03:25 +0000)
commita0cece42c646df39c858223b0361b7dfe0d44dd8
tree78c8990de78ecf4ebc06b26a953ecf0bb83d91b0
parentdb5a5c131cc9d379c74c1b9afd116d61af87feb7
bugfix [#23148] "ImportError: __import__ not found" on changing Render FPS

The BGE was getting the namespace dict directly from __main__ which conflicts
with my recent fix to get the pickle module working which to overwrote the __main__ module on script execution.

Simple fix is to have the BGE and Blender use the same method of getting namespaces.
Renamed CreateGlobalDictionary() to bpy_namespace_dict_new() and moved into bpy_internal_import.c

pickle still wont work in the BGE since we make a copy of __main__ namespace but for speed would rather not have to replace the __main__ module many times per second.
source/blender/python/generic/bpy_internal_import.c
source/blender/python/generic/bpy_internal_import.h
source/blender/python/intern/bpy_interface.c
source/gameengine/Converter/KX_ConvertControllers.cpp
source/gameengine/GameLogic/SCA_PythonController.cpp
source/gameengine/Ketsji/KX_KetsjiEngine.h
source/gameengine/Ketsji/KX_PythonInit.cpp