diff options
-rw-r--r-- | source/blender/python/generic/py_capi_utils.c | 23 |
1 files 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); |