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/generic/bpy_internal_import.c')
-rw-r--r--source/blender/python/generic/bpy_internal_import.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/source/blender/python/generic/bpy_internal_import.c b/source/blender/python/generic/bpy_internal_import.c
index a0e6204b34c..2d19fdb87b3 100644
--- a/source/blender/python/generic/bpy_internal_import.c
+++ b/source/blender/python/generic/bpy_internal_import.c
@@ -47,6 +47,8 @@
#include "BKE_text.h" /* txt_to_buf */
#include "BKE_main.h"
+#include "py_capi_utils.h"
+
#include "bpy_internal_import.h" /* own include */
static Main *bpy_import_main = NULL;
@@ -133,6 +135,7 @@ void bpy_text_filename_get(char *fn, size_t fn_len, Text *text)
bool bpy_text_compile(Text *text)
{
char fn_dummy[FILE_MAX];
+ PyObject *fn_dummy_py;
char *buf;
bpy_text_filename_get(fn_dummy, sizeof(fn_dummy), text);
@@ -140,10 +143,14 @@ bool bpy_text_compile(Text *text)
/* if previously compiled, free the object */
free_compiled_text(text);
+ fn_dummy_py = PyC_UnicodeFromByte(fn_dummy);
+
buf = txt_to_buf(text);
- text->compiled = Py_CompileString(buf, fn_dummy, Py_file_input);
+ text->compiled = Py_CompileStringObject(buf, fn_dummy_py, Py_file_input, NULL, -1);
MEM_freeN(buf);
+ Py_DECREF(fn_dummy_py);
+
if (PyErr_Occurred()) {
PyErr_Print();
PyErr_Clear();