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>2020-11-01 10:12:26 +0300
committerCampbell Barton <ideasman42@gmail.com>2020-11-01 10:12:26 +0300
commit276d19f63b4534545c2e1a9d5c48525298b1a445 (patch)
tree67531cc739d33bd3edb78ce3916c712eb34dd05f
parent4158b7f674bcc05308b50da917798edfdddab469 (diff)
PyAPI: set sys.executable to None when Python can't be found
Without this, sys.executable may be set to Blender's executable instead.
-rw-r--r--source/blender/python/intern/bpy_interface.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/source/blender/python/intern/bpy_interface.c b/source/blender/python/intern/bpy_interface.c
index a4417f38756..d72c2ccfcff 100644
--- a/source/blender/python/intern/bpy_interface.c
+++ b/source/blender/python/intern/bpy_interface.c
@@ -361,17 +361,19 @@ void BPY_python_start(bContext *C, int argc, const char **argv)
/* Setting the program name is important so the 'multiprocessing' module
* can launch new Python instances. */
{
+ const char *sys_variable = "executable";
char program_path[FILE_MAX];
if (BKE_appdir_program_python_search(
program_path, sizeof(program_path), PY_MAJOR_VERSION, PY_MINOR_VERSION)) {
PyObject *py_program_path = PyC_UnicodeFromByte(program_path);
- PySys_SetObject("executable", py_program_path);
+ PySys_SetObject(sys_variable, py_program_path);
Py_DECREF(py_program_path);
}
else {
fprintf(stderr,
"Unable to find the python binary, "
"the multiprocessing module may not be functional!\n");
+ PySys_SetObject(sys_variable, Py_None);
}
}