diff options
Diffstat (limited to 'src/corelib/kernel/qobject.cpp')
-rw-r--r-- | src/corelib/kernel/qobject.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp index 8a7bb53e33..3717d7a19e 100644 --- a/src/corelib/kernel/qobject.cpp +++ b/src/corelib/kernel/qobject.cpp @@ -4533,6 +4533,11 @@ QDebug operator<<(QDebug dbg, const QObject *o) invoked using QMetaObject::invokeMethod(). Since \c normalMethod() function is not registered in this way, it cannot be invoked using QMetaObject::invokeMethod(). + + If an invokable member function returns a pointer to a QObject or a + subclass of QObject and it is invoked from QML, special ownership rules + apply. See \l{qtqml-cppintegration-data.html}{Data Type Conversion Between QML and C++} + for more information. */ /*! @@ -4803,7 +4808,12 @@ QMetaObject::Connection QObjectPrivate::connectImpl(const QObject *sender, int s const int *types, const QMetaObject *senderMetaObject) { if (!sender || !receiver || !slotObj || !senderMetaObject) { - qWarning("QObject::connect: invalid null parameter"); + const char *senderString = sender ? sender->metaObject()->className() + : senderMetaObject ? senderMetaObject->className() + : "Unknown"; + const char *receiverString = receiver ? receiver->metaObject()->className() + : "Unknown"; + qWarning("QObject::connect(%s, %s): invalid null parameter", senderString, receiverString); if (slotObj) slotObj->destroyIfLastRef(); return QMetaObject::Connection(); |