diff --git a/sources/pyside6/libpyside/qobjectconnect.cpp b/sources/pyside6/libpyside/qobjectconnect.cpp
index de6f74b14..839f459b6 100644
--- a/sources/pyside6/libpyside/qobjectconnect.cpp
+++ b/sources/pyside6/libpyside/qobjectconnect.cpp
@@ -10,6 +10,8 @@
 #include "shiboken.h"
 #include "basewrapper.h"
 #include "autodecref.h"
+#include <helper.h>
+#include <iostream>
 
 #include <QtCore/QDebug>
 #include <QtCore/QMetaMethod>
@@ -17,6 +19,20 @@
 
 #include <string_view>
 
+std::ostream &operator<<(std::ostream &str, const QObject *o)
+{
+    if (o != nullptr) {
+        str << o->metaObject()->className() << '(' << static_cast<const void*>(o);
+        auto on = o->objectName();
+        if (!on.isEmpty())
+            str << ", \"" << on.toLocal8Bit().constData() << '"';
+        str << ')';
+    } else {
+        str << "QObject(0)";
+    }
+    return str;
+}
+
 static bool isMethodDecorator(PyObject *method, bool is_pymethod, PyObject *self)
 {
     Shiboken::AutoDecRef methodName(PyObject_GetAttr(method, Shiboken::PyMagicName::name()));
@@ -94,6 +110,8 @@ static GetReceiverResult getReceiver(QObject *source, const char *signal,
                                      PyObject *callback)
 {
     GetReceiverResult result;
+    std::cerr << __FUNCTION__ << " >" << source << " cb=" << signal
+              << "\" cb=" << Shiboken::debugPyObject(callback) << '\n';
 
     bool forceGlobalReceiver = false;
     if (PyMethod_Check(callback)) {
@@ -132,13 +150,24 @@ static GetReceiverResult getReceiver(QObject *source, const char *signal,
                                                  result.usingGlobalReceiver).toLatin1();
         const QMetaObject *metaObject = result.receiver->metaObject();
         result.slotIndex = metaObject->indexOfSlot(result.callbackSig.constData());
+        qDebug().noquote().nospace()
+            <<  __FUNCTION__ << " bug 1019: " << result.receiver << " sig=\""
+            << result.callbackSig << "\" slotIndex=" << result.slotIndex
+            << " PyMethod_Check=" << PyMethod_Check(callback) << " methodOffset="
+            << metaObject->methodOffset() << " of \""
+            << metaObject->className() << "\", " << metaObject;
         if (PyMethod_Check(callback) != 0 && result.slotIndex != -1) {
              // Find the class in which the slot is declared.
              while (result.slotIndex < metaObject->methodOffset())
                  metaObject = metaObject->superClass();
+             bool d =isDeclaredIn(callback, metaObject->className());
+             qDebug().noquote().nospace()
+                 <<  __FUNCTION__ << " bug 1019: loop=\"" << metaObject->className()
+                 << "\", " << metaObject << " methodOffset=" << metaObject->methodOffset()
+                 << " isDeclaredIn=" << d;
              // If the Python callback is not declared in the same class, assume it is
              // a Python override. Resort to global receiver (PYSIDE-2418).
-             if (!isDeclaredIn(callback, metaObject->className()))
+             if (!d)
                  result.usingGlobalReceiver = true;
          }
     }
@@ -159,6 +188,8 @@ static GetReceiverResult getReceiver(QObject *source, const char *signal,
         result.slotIndex = metaObject->indexOfSlot(result.callbackSig.constData());
     }
 
+    qDebug().noquote().nospace() << __FUNCTION__ << " >" << source
+                                 << '"' << signal << "\"rets=" << result;
     return result;
 }
 
@@ -198,6 +229,8 @@ QMetaObject::Connection qobjectConnect(QObject *source, QMetaMethod signal,
 QMetaObject::Connection qobjectConnectCallback(QObject *source, const char *signal,
                                                PyObject *callback, Qt::ConnectionType type)
 {
+    std::cerr << __FUNCTION__ << " >" << source << " cb=" << signal
+              << " \"cb=" << Shiboken::debugPyObject(callback) << ' ' << type << '\n';
     if (!signal || !PySide::Signal::checkQtSignal(signal))
         return {};
 
@@ -252,24 +285,32 @@ QMetaObject::Connection qobjectConnectCallback(QObject *source, const char *sign
 
     const QMetaMethod signalMethod = receiver.receiver->metaObject()->method(signalIndex);
     static_cast<FriendlyQObject *>(source)->connectNotify(signalMethod);
+    qDebug() << __FUNCTION__ << '<' << source << signal << connection << '\n';
     return connection;
 }
 
 bool qobjectDisconnectCallback(QObject *source, const char *signal, PyObject *callback)
 {
+    std::cerr << __FUNCTION__ << " >" << source << " cb=" << signal
+              << " cb=" << Shiboken::debugPyObject(callback) << '\n';
     if (!PySide::Signal::checkQtSignal(signal))
         return false;
 
     // Extract receiver from callback
     const GetReceiverResult receiver = getReceiver(nullptr, signal, callback);
-    if (receiver.receiver == nullptr && receiver.self == nullptr)
+    if (receiver.receiver == nullptr && receiver.self == nullptr) {
+        qDebug() << __FUNCTION__ << "getReceiver fail!";
         return false;
+    }
 
     const int signalIndex = source->metaObject()->indexOfSignal(signal + 1);
     const int slotIndex = receiver.slotIndex;
+    qDebug() << __FUNCTION__ << "signalIndex=" << signalIndex << "slotIndex=" << slotIndex;
 
-    if (!QMetaObject::disconnectOne(source, signalIndex, receiver.receiver, slotIndex))
+    if (!QMetaObject::disconnectOne(source, signalIndex, receiver.receiver, slotIndex)) {
+        qDebug() << __FUNCTION__ << "QMetaObject::disconnectOne=fail\n";
         return false;
+    }
 
     Q_ASSERT(receiver.receiver);
     const QMetaMethod slotMethod = receiver.receiver->metaObject()->method(slotIndex);
@@ -279,6 +320,7 @@ bool qobjectDisconnectCallback(QObject *source, const char *signal, PyObject *ca
         PySide::SignalManager &signalManager = PySide::SignalManager::instance();
         signalManager.releaseGlobalReceiver(source, receiver.receiver);
     }
+    qDebug() << __FUNCTION__ << "ok\n";
     return true;
 }
 
diff --git a/sources/pyside6/libpyside/signalmanager.cpp b/sources/pyside6/libpyside/signalmanager.cpp
index 4ed39dd5a..d4cf5a265 100644
--- a/sources/pyside6/libpyside/signalmanager.cpp
+++ b/sources/pyside6/libpyside/signalmanager.cpp
@@ -674,7 +674,7 @@ int SignalManager::registerMetaMethodGetIndex(QObject *source, const char *signa
         }
 
         if (type == QMetaMethod::Slot) {
-            qCWarning(lcPySide).noquote().nospace()
+            qWarning().noquote().nospace()
                 << "Warning: Registering dynamic slot \""
                 << signature << "\" on " << source->metaObject()->className()
                 << ". Consider annotating with " << slotSignature(signature);
