Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2024-11-12 15:50:24 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2024-11-12 18:15:55 +0100
commit80c677b3dd2ef3c61afb203e5ade3007c5f07e5c (patch)
tree7f61e3096bbaa089ca2d6154582ff3a52ba1be43 /sources/pyside6/libpyside
parente282c667064e2807455b37e55d1ed1745a1c84ef (diff)
libpyside: Output refcount in debug operators
It is useful for leak checking. Pick-to: 6.8 Change-Id: Ida19cb863e8232e26c86fa82a64d0d3f741b4646 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Diffstat (limited to 'sources/pyside6/libpyside')
-rw-r--r--sources/pyside6/libpyside/pyside.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/sources/pyside6/libpyside/pyside.cpp b/sources/pyside6/libpyside/pyside.cpp
index 68d49cf75..0afe6db5f 100644
--- a/sources/pyside6/libpyside/pyside.cpp
+++ b/sources/pyside6/libpyside/pyside.cpp
@@ -1186,7 +1186,13 @@ static void formatPyObject(PyObject *obj, QDebug &debug)
return;
}
if (PyType_Check(obj) == 0)
- debug << pyTypeName(obj) << ": ";
+ debug << pyTypeName(obj);
+ const auto refs = Py_REFCNT(obj);
+ if (refs == UINT_MAX) // _Py_IMMORTAL_REFCNT
+ debug << ", immortal";
+ else
+ debug << ", refs=" << refs;
+ debug << ": ";
formatPyObjectValue(obj, debug);
}