Alternative fix for T38753, use existing __file__ in namespace
This commit is contained in:
@@ -496,19 +496,11 @@ static int python_script_exec(bContext *C, const char *fn, struct Text *text,
|
||||
* incompatible'.
|
||||
* So now we load the script file data to a buffer */
|
||||
{
|
||||
PyObject *py_dict_local, *fn_py;
|
||||
const char *pystring = "with open(fn, 'r') as f: exec(f.read())";
|
||||
const char *pystring = "with open(__file__, 'r') as f: exec(f.read())";
|
||||
|
||||
fclose(fp);
|
||||
|
||||
py_dict_local = PyDict_New();
|
||||
fn_py = PyC_UnicodeFromByte(fn);
|
||||
PyDict_SetItemString(py_dict_local, "fn", fn_py);
|
||||
Py_DECREF(fn_py);
|
||||
|
||||
py_result = PyRun_String(pystring, Py_file_input, py_dict, py_dict_local);
|
||||
|
||||
Py_DECREF(py_dict_local);
|
||||
py_result = PyRun_String(pystring, Py_file_input, py_dict, py_dict);
|
||||
}
|
||||
#else
|
||||
py_result = PyRun_File(fp, fn, Py_file_input, py_dict, py_dict);
|
||||
|
||||
Reference in New Issue
Block a user