[Bf-blender-cvs] [9bfc9d799e0] master: PyAPI: Avoid redundant prefix for PyC_Err_Format_Prefix

Campbell Barton noreply at git.blender.org
Wed Jan 16 22:48:44 CET 2019


Commit: 9bfc9d799e08b467e94c3d750a9c8b2909a72e3e
Author: Campbell Barton
Date:   Thu Jan 17 08:43:57 2019 +1100
Branches: master
https://developer.blender.org/rB9bfc9d799e08b467e94c3d750a9c8b2909a72e3e

PyAPI: Avoid redundant prefix for PyC_Err_Format_Prefix

Only show the exception value type when it's not a string.

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

M	source/blender/python/generic/py_capi_utils.c

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

diff --git a/source/blender/python/generic/py_capi_utils.c b/source/blender/python/generic/py_capi_utils.c
index 567738e6be2..d158c92baae 100644
--- a/source/blender/python/generic/py_capi_utils.c
+++ b/source/blender/python/generic/py_capi_utils.c
@@ -436,17 +436,24 @@ PyObject *PyC_Err_Format_Prefix(PyObject *exception_type_prefix, const char *for
 	if (PyErr_Occurred()) {
 		PyObject *error_type, *error_value, *error_traceback;
 		PyErr_Fetch(&error_type, &error_value, &error_traceback);
-		PyErr_Format(exception_type_prefix,
-		             "%S, %.200s(%S)",
-		             error_value_prefix,
-		             Py_TYPE(error_value)->tp_name,
-		             error_value
-		             );
+
+		if (PyUnicode_Check(error_value)) {
+			PyErr_Format(exception_type_prefix,
+			             "%S, %S",
+			             error_value_prefix,
+			             error_value);
+		}
+		else {
+			PyErr_Format(exception_type_prefix,
+			             "%S, %.200s(%S)",
+			             error_value_prefix,
+			             Py_TYPE(error_value)->tp_name,
+			             error_value);
+		}
 	}
 	else {
 		PyErr_SetObject(exception_type_prefix,
-		                error_value_prefix
-		                );
+		                error_value_prefix);
 	}
 
 	Py_XDECREF(error_value_prefix);



More information about the Bf-blender-cvs mailing list