From 8e5cd8017e9a88de426b3c23c328a68a70089b1c Mon Sep 17 00:00:00 2001 From: Giuseppe D'Angelo Date: Wed, 17 Aug 2016 20:08:50 +0200 Subject: QObject::dumpObject*: enable them also for non-debug builds It makes very little sense that one needs to have a debug build of Qt to debug QObject issues in application code. At this date we don't even offer debug builds for Linux systems, and anyhow one might want to debug an application running against a release build of Qt. [ChangeLog][QtCore][QObject] QObject::dumpObjectInfo and QObject::dumpObjectTree are now fully functional even in a non-debug build of Qt. Change-Id: Ifddd3023ffc82f3dc3928a7a94d4970e2fb1b44a Reviewed-by: Olivier Goffart (Woboq GmbH) --- src/corelib/kernel/qobject.cpp | 15 --------------- tests/auto/corelib/kernel/qobject/tst_qobject.cpp | 2 -- 2 files changed, 17 deletions(-) diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp index e901d8cefa..4ca90b8acf 100644 --- a/src/corelib/kernel/qobject.cpp +++ b/src/corelib/kernel/qobject.cpp @@ -3943,7 +3943,6 @@ QList QObject::dynamicPropertyNames() const static void dumpRecursive(int level, QObject *object) { -#if defined(QT_DEBUG) if (object) { QByteArray buf; buf.fill(' ', level / 2 * 8); @@ -3972,19 +3971,11 @@ static void dumpRecursive(int level, QObject *object) dumpRecursive(level+1, children.at(i)); } } -#else - Q_UNUSED(level) - Q_UNUSED(object) -#endif } /*! Dumps a tree of children to the debug output. - This function is useful for debugging, but does nothing if the - library has been compiled in release mode (i.e. without debugging - information). - \sa dumpObjectInfo() */ @@ -3997,16 +3988,11 @@ void QObject::dumpObjectTree() Dumps information about signal connections, etc. for this object to the debug output. - This function is useful for debugging, but does nothing if the - library has been compiled in release mode (i.e. without debugging - information). - \sa dumpObjectTree() */ void QObject::dumpObjectInfo() { -#if defined(QT_DEBUG) qDebug("OBJECT %s::%s", metaObject()->className(), objectName().isEmpty() ? "unnamed" : objectName().toLocal8Bit().data()); @@ -4066,7 +4052,6 @@ void QObject::dumpObjectInfo() } else { qDebug(" "); } -#endif } #ifndef QT_NO_USERDATA diff --git a/tests/auto/corelib/kernel/qobject/tst_qobject.cpp b/tests/auto/corelib/kernel/qobject/tst_qobject.cpp index 52bf8e9004..a8760843b3 100644 --- a/tests/auto/corelib/kernel/qobject/tst_qobject.cpp +++ b/tests/auto/corelib/kernel/qobject/tst_qobject.cpp @@ -3401,14 +3401,12 @@ void tst_QObject::dumpObjectInfo() QObject a, b; QObject::connect(&a, SIGNAL(destroyed(QObject*)), &b, SLOT(deleteLater())); a.disconnect(&b); -#ifdef QT_DEBUG QTest::ignoreMessage(QtDebugMsg, "OBJECT QObject::unnamed"); QTest::ignoreMessage(QtDebugMsg, " SIGNALS OUT"); QTest::ignoreMessage(QtDebugMsg, " signal: destroyed(QObject*)"); QTest::ignoreMessage(QtDebugMsg, " "); QTest::ignoreMessage(QtDebugMsg, " SIGNALS IN"); QTest::ignoreMessage(QtDebugMsg, " "); -#endif a.dumpObjectInfo(); // should not crash } -- cgit v1.2.3