From 9bfc9d799e08b467e94c3d750a9c8b2909a72e3e Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 17 Jan 2019 08:43:57 +1100 Subject: [PATCH] PyAPI: Avoid redundant prefix for PyC_Err_Format_Prefix Only show the exception value type when it's not a string. --- source/blender/python/generic/py_capi_utils.c | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) 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);