aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6/libpyside/pyside.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sources/pyside6/libpyside/pyside.cpp')
-rw-r--r--sources/pyside6/libpyside/pyside.cpp12
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) << '"';