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:
Diffstat (limited to 'source/blender/python/intern/bpy_interface_run.c')
-rw-r--r--source/blender/python/intern/bpy_interface_run.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/source/blender/python/intern/bpy_interface_run.c b/source/blender/python/intern/bpy_interface_run.c
index 9f9382b633c..a7593ae7d79 100644
--- a/source/blender/python/intern/bpy_interface_run.c
+++ b/source/blender/python/intern/bpy_interface_run.c
@@ -39,6 +39,7 @@
#include "BPY_extern_run.h"
#include "bpy_capi_utils.h"
+#include "bpy_intern_string.h"
#include "bpy_traceback.h"
#include "../generic/py_capi_utils.h"
@@ -65,6 +66,18 @@ static void bpy_text_filename_get(char *fn, const Main *bmain, size_t fn_len, co
BLI_snprintf(fn, fn_len, "%s%c%s", ID_BLEND_PATH(bmain, &text->id), SEP, text->id.name + 2);
}
+/* Very annoying! Undo #_PyModule_Clear(), see T23871. */
+#define PYMODULE_CLEAR_WORKAROUND
+
+#ifdef PYMODULE_CLEAR_WORKAROUND
+/* bad!, we should never do this, but currently only safe way I could find to keep namespace.
+ * from being cleared. - campbell */
+typedef struct {
+ PyObject_HEAD PyObject *md_dict;
+ /* omit other values, we only want the dict. */
+} PyModuleObject;
+#endif
+
static bool python_script_exec(
bContext *C, const char *fn, struct Text *text, struct ReportList *reports, const bool do_jump)
{