aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2023-06-26 10:52:47 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-06-27 16:00:33 +0000
commit7222d8a0470eaa254128b3207a2c295025dd1819 (patch)
tree705178e12da47fd61178563e8ee1752e74ec7b3d
parent65f1e91dc486a2e5a561805db19122f14a60dbe4 (diff)
PySide6: Add debug operators for DynamicSlotDataV2/GlobalReceiverV2
Task-number: PYSIDE-2371 Task-number: PYSIDE-2299 Change-Id: I1d3edf539e156a3a64f9e4b4499bc967b0da2ade Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> (cherry picked from commit f0109334c3087740252f55e75dd3d010d951c274) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--sources/pyside6/libpyside/globalreceiverv2.cpp54
-rw-r--r--sources/pyside6/libpyside/globalreceiverv2.h6
2 files changed, 60 insertions, 0 deletions
diff --git a/sources/pyside6/libpyside/globalreceiverv2.cpp b/sources/pyside6/libpyside/globalreceiverv2.cpp
index 8289eaff6..301d7c535 100644
--- a/sources/pyside6/libpyside/globalreceiverv2.cpp
+++ b/sources/pyside6/libpyside/globalreceiverv2.cpp
@@ -13,6 +13,7 @@
#include <QtCore/qhashfunctions.h>
#include <QtCore/QMetaMethod>
#include <QtCore/QSet>
+#include <QtCore/QDebug>
#include <cstring>
@@ -46,6 +47,8 @@ class DynamicSlotDataV2
static void onCallbackDestroyed(void *data);
static GlobalReceiverKey key(PyObject *callback);
+ void formatDebug(QDebug &debug) const;
+
private:
bool m_isMethod;
PyObject *m_callback;
@@ -56,6 +59,32 @@ class DynamicSlotDataV2
GlobalReceiverV2 *m_parent;
};
+void DynamicSlotDataV2::formatDebug(QDebug &debug) const
+{
+ debug << "method=" << m_isMethod << ", m_callback=" << m_callback;
+ if (m_callback != nullptr)
+ debug << '/' << Py_TYPE(m_callback)->tp_name;
+ debug << ", self=" << m_pythonSelf;
+ if (m_pythonSelf != nullptr)
+ debug << '/' << Py_TYPE(m_pythonSelf)->tp_name;
+ debug << ", m_pyClass=" << m_pyClass;
+ if (m_pyClass != nullptr)
+ debug << '/' << Py_TYPE(m_pyClass)->tp_name;
+ debug << ", signatures=" << m_signatures.keys();
+}
+
+QDebug operator<<(QDebug debug, const DynamicSlotDataV2 *d)
+{
+ QDebugStateSaver saver(debug);
+ debug.noquote();
+ debug.nospace();
+ debug << "DynamicSlotDataV2(";
+ if (d)
+ d->formatDebug(debug);
+ else
+ debug << '0';
+ debug << ')';
+ return debug;
}
using namespace PySide;
@@ -275,3 +304,28 @@ int GlobalReceiverV2::qt_metacall(QMetaObject::Call call, int id, void **args)
return -1;
}
+
+void GlobalReceiverV2::formatDebug(QDebug &debug) const
+{
+ debug << "receiver=" << m_receiver << ", slot=" << m_data;
+ if (isEmpty())
+ debug << ", empty";
+ else
+ debug << ", refs=" << m_refs;
+};
+
+QDebug operator<<(QDebug debug, const GlobalReceiverV2 *g)
+{
+ QDebugStateSaver saver(debug);
+ debug.noquote();
+ debug.nospace();
+ debug << "GlobalReceiverV2(";
+ if (g)
+ g->formatDebug(debug);
+ else
+ debug << '0';
+ debug << ')';
+ return debug;
+}
+
+} // namespace PySide
diff --git a/sources/pyside6/libpyside/globalreceiverv2.h b/sources/pyside6/libpyside/globalreceiverv2.h
index c44b8a12f..256c798ef 100644
--- a/sources/pyside6/libpyside/globalreceiverv2.h
+++ b/sources/pyside6/libpyside/globalreceiverv2.h
@@ -15,6 +15,8 @@
#include <memory>
+QT_FORWARD_DECLARE_CLASS(QDebug);
+
namespace PySide
{
@@ -91,6 +93,8 @@ public:
static const char *senderDynamicProperty;
+ void formatDebug(QDebug &debug) const;
+
private:
void purgeDeletedSenders();
@@ -101,6 +105,8 @@ private:
QPointer<QObject> m_receiver;
};
+QDebug operator<<(QDebug debug, const GlobalReceiverV2 *g);
+
}
#endif