[Bf-blender-cvs] [a8dc5b2] master: Alternative fix for T38753, use existing __file__ in namespace

Tamito Kajiyama noreply at git.blender.org
Wed Mar 5 17:31:40 CET 2014


Commit: a8dc5b274b5105be96694a9ea1a70871b5a7183f
Author: Tamito Kajiyama
Date:   Thu Mar 6 03:27:14 2014 +1100
https://developer.blender.org/rBa8dc5b274b5105be96694a9ea1a70871b5a7183f

Alternative fix for T38753, use existing __file__ in namespace

===================================================================

M	source/blender/python/intern/bpy_interface.c

===================================================================

diff --git a/source/blender/python/intern/bpy_interface.c b/source/blender/python/intern/bpy_interface.c
index cf5bf3a..93bced3 100644
--- a/source/blender/python/intern/bpy_interface.c
+++ b/source/blender/python/intern/bpy_interface.c
@@ -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);




More information about the Bf-blender-cvs mailing list