[Bf-blender-cvs] [14d26df] blender-v2.78-release: Fix T49342: TypeError when autocompleting bpy.app.something.

Bastien Montagne noreply at git.blender.org
Wed Sep 14 15:58:23 CEST 2016


Commit: 14d26df2f1b7f25ce7c04674c652d62c70c824f1
Author: Bastien Montagne
Date:   Wed Sep 14 15:40:35 2016 +0200
Branches: blender-v2.78-release
https://developer.blender.org/rB14d26df2f1b7f25ce7c04674c652d62c70c824f1

Fix T49342: TypeError when autocompleting bpy.app.something.

Regression from rB036c006cefe471. We can't use self here, self is bpy.app, not pydescriptor of python path getsetter...

So for now, do not try to replace getsetter by actual value in bpy.app's dict,
just return static var generated on first run.

Should be safe for 2.78.

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

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

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

diff --git a/source/blender/python/intern/bpy_app.c b/source/blender/python/intern/bpy_app.c
index 78cb537..ed7cec2 100644
--- a/source/blender/python/intern/bpy_app.c
+++ b/source/blender/python/intern/bpy_app.c
@@ -234,7 +234,7 @@ static int bpy_app_debug_set(PyObject *UNUSED(self), PyObject *value, void *clos
 	return 0;
 }
 
-
+#define BROKEN_BINARY_PATH_PYTHON_HACK
 
 PyDoc_STRVAR(bpy_app_binary_path_python_doc,
 "String, the path to the python executable (read-only)"
@@ -251,14 +251,18 @@ static PyObject *bpy_app_binary_path_python_get(PyObject *self, void *UNUSED(clo
 		        fullpath, sizeof(fullpath),
 		        PY_MAJOR_VERSION, PY_MINOR_VERSION);
 		ret = PyC_UnicodeFromByte(fullpath);
-		PyDict_SetItem(BlenderAppType.tp_dict, PyDescr_NAME(self), ret);
+#ifdef BROKEN_BINARY_PATH_PYTHON_HACK
+		Py_INCREF(ret);
+		UNUSED_VARS(self);
+#else
+		PyDict_SetItem(BlenderAppType.tp_dict, /* XXX BAAAADDDDDD! self is not a PyDescr at all! it's bpy.app!!! */ PyDescr_NAME(self), ret);
+#endif
 	}
 	else {
 		Py_INCREF(ret);
 	}
 
 	return ret;
-
 }
 
 PyDoc_STRVAR(bpy_app_debug_value_doc,




More information about the Bf-blender-cvs mailing list