[Bf-blender-cvs] [2be3ebd] master: Correct own recent error printing Python exception

Campbell Barton noreply at git.blender.org
Wed Jun 3 06:11:42 CEST 2015


Commit: 2be3ebd15dc518d6fab7324a32f91d3c883c74e5
Author: Campbell Barton
Date:   Wed Jun 3 12:36:32 2015 +1000
Branches: master
https://developer.blender.org/rB2be3ebd15dc518d6fab7324a32f91d3c883c74e5

Correct own recent error printing Python exception

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

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

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

diff --git a/source/blender/python/intern/bpy_util.c b/source/blender/python/intern/bpy_util.c
index 5846ccd..e4571e7 100644
--- a/source/blender/python/intern/bpy_util.c
+++ b/source/blender/python/intern/bpy_util.c
@@ -85,7 +85,6 @@ short BPy_reports_to_error(ReportList *reports, PyObject *exception, const bool
 bool BPy_errors_to_report_ex(ReportList *reports, const bool use_full, const bool use_location)
 {
 	PyObject *pystring;
-	const char *cstring;
 
 	if (!PyErr_Occurred())
 		return 1;
@@ -109,13 +108,12 @@ bool BPy_errors_to_report_ex(ReportList *reports, const bool use_full, const boo
 		return 0;
 	}
 
-	cstring = _PyUnicode_AsString(pystring);
-
 	if (use_location) {
 		const char *filename;
 		int lineno;
 
 		PyObject *pystring_format;  /* workaround, see below */
+		const char *cstring;
 
 		PyC_FileAndNum(&filename, &lineno);
 		if (filename == NULL) {
@@ -128,14 +126,15 @@ bool BPy_errors_to_report_ex(ReportList *reports, const bool use_full, const boo
 		pystring_format = PyUnicode_FromFormat(TIP_("%s\nlocation: %s:%d\n"), cstring, filename, lineno);
 		cstring = _PyUnicode_AsString(pystring_format);
 		BKE_report(reports, RPT_ERROR, cstring);
-		Py_DECREF(pystring_format);  /* workaround */
-#endif
 
 		/* not exactly needed. just for testing */
 		fprintf(stderr, TIP_("%s\nlocation: %s:%d\n"), cstring, filename, lineno);
+
+		Py_DECREF(pystring_format);  /* workaround */
+#endif
 	}
 	else {
-		BKE_report(reports, RPT_ERROR, cstring);
+		BKE_report(reports, RPT_ERROR, _PyUnicode_AsString(pystring));
 	}




More information about the Bf-blender-cvs mailing list