diff options
Diffstat (limited to 'sources/pyside6/libpyside/pyside.cpp')
| -rw-r--r-- | sources/pyside6/libpyside/pyside.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/sources/pyside6/libpyside/pyside.cpp b/sources/pyside6/libpyside/pyside.cpp index 683a3baf9..d5e815a42 100644 --- a/sources/pyside6/libpyside/pyside.cpp +++ b/sources/pyside6/libpyside/pyside.cpp @@ -1072,9 +1072,15 @@ static void formatPyObjectValue(PyObject *obj, QDebug &debug) { if (PyType_Check(obj) != 0) debug << "type: \"" << pyTypeName(obj) << '"'; - else if (PyLong_Check(obj) != 0) - debug << PyLong_AsLongLong(obj); - else if (PyFloat_Check(obj) != 0) + else if (PyLong_Check(obj) != 0) { + const auto llv = PyLong_AsLongLong(obj); + if (PyErr_Occurred() != PyExc_OverflowError) { + debug << llv; + } else { + PyErr_Clear(); + debug << "0x" << Qt::hex << PyLong_AsUnsignedLongLong(obj) << Qt::dec; + } + } else if (PyFloat_Check(obj) != 0) debug << PyFloat_AsDouble(obj); else if (PyUnicode_Check(obj) != 0) debug << '"' << pyStringToQString(obj) << '"'; |
