From: Ivailo Monev Date: Fri, 14 Aug 2020 23:14:59 +0000 (+0300) Subject: remove redundant QSignalSpyCallbackSet::signal_end_callback X-Git-Tag: 4.12.0~3573 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=7bb4732e26353c2844c18c0499736daf7af0e44c;p=kde%2FKatie.git remove redundant QSignalSpyCallbackSet::signal_end_callback QSignalSpyCallbackSet::signal_begin_callback is called once for each signal thus QTest::iLevel is always one Signed-off-by: Ivailo Monev --- diff --git a/src/core/kernel/qobject.cpp b/src/core/kernel/qobject.cpp index a76a4ee1a..15d05f759 100644 --- a/src/core/kernel/qobject.cpp +++ b/src/core/kernel/qobject.cpp @@ -58,7 +58,7 @@ QT_BEGIN_NAMESPACE // Support for introspection -QSignalSpyCallbackSet Q_CORE_EXPORT qt_signal_spy_callback_set = { 0, 0, 0 }; +QSignalSpyCallbackSet Q_CORE_EXPORT qt_signal_spy_callback_set = { 0, 0 }; void qt_register_signal_spy_callbacks(const QSignalSpyCallbackSet &callback_set) { @@ -2917,9 +2917,6 @@ void QMetaObject::activate(QObject *sender, const QMetaObject *m, int local_sign QMutexLocker locker(signalSlotLock(sender)); QObjectConnectionListVector *connectionLists = sender->d_func()->connectionLists; if (!connectionLists) { - locker.unlock(); - if (qt_signal_spy_callback_set.signal_end_callback) - qt_signal_spy_callback_set.signal_end_callback(sender, signal_absolute_index); return; } ++connectionLists->inUse; @@ -3050,12 +3047,6 @@ void QMetaObject::activate(QObject *sender, const QMetaObject *m, int local_sign } else if (connectionLists->dirty) { sender->d_func()->cleanConnectionLists(); } - - locker.unlock(); - - if (qt_signal_spy_callback_set.signal_end_callback) - qt_signal_spy_callback_set.signal_end_callback(sender, signal_absolute_index); - } /*! \internal diff --git a/src/core/kernel/qobject_p.h b/src/core/kernel/qobject_p.h index 625457575..87f147cc2 100644 --- a/src/core/kernel/qobject_p.h +++ b/src/core/kernel/qobject_p.h @@ -63,10 +63,8 @@ namespace QtSharedPointer { struct ExternalRefCountData; } struct QSignalSpyCallbackSet { typedef void (*BeginCallback)(QObject *caller, int method_index, void **argv); - typedef void (*EndCallback)(QObject *caller, int method_index); - BeginCallback signal_begin_callback, - slot_begin_callback; - EndCallback signal_end_callback; + BeginCallback signal_begin_callback; + BeginCallback slot_begin_callback; }; void Q_CORE_EXPORT qt_register_signal_spy_callbacks(const QSignalSpyCallbackSet &callback_set); @@ -200,8 +198,7 @@ inline bool QObjectPrivate::isSignalConnected(uint signal_index) const { return signal_index >= sizeof(connectedSignals) * 8 || (connectedSignals[signal_index >> 5] & (1 << (signal_index & 0x1f)) - || qt_signal_spy_callback_set.signal_begin_callback - || qt_signal_spy_callback_set.signal_end_callback); + || qt_signal_spy_callback_set.signal_begin_callback); } inline void QObjectPrivate::connectNotify(const char *signal) diff --git a/src/test/qsignaldumper.cpp b/src/test/qsignaldumper.cpp index 4d9b707b6..214a87de9 100644 --- a/src/test/qsignaldumper.cpp +++ b/src/test/qsignaldumper.cpp @@ -52,7 +52,6 @@ inline static void qPrintMessage(const QByteArray &ba) QTestLog::info(ba.constData(), 0, 0); } -static int iLevel = 0; enum { IndentSpacesCount = 4 }; static QByteArray memberName(const QMetaMethod &member) @@ -70,7 +69,7 @@ static void qSignalDumperCallback(QObject *caller, int method_index, void **argv Q_ASSERT(member.signature()); QByteArray str; - str.fill(' ', QTest::iLevel++ * QTest::IndentSpacesCount); + str.fill(' ', QTest::IndentSpacesCount); str += "Signal: "; str += mo->className(); str += '('; @@ -122,7 +121,7 @@ static void qSignalDumperCallbackSlot(QObject *caller, int method_index, void ** return; QByteArray str; - str.fill(' ', QTest::iLevel * QTest::IndentSpacesCount); + str.fill(' ', QTest::IndentSpacesCount); str += "Slot: "; str += mo->className(); str += '('; @@ -138,28 +137,20 @@ static void qSignalDumperCallbackSlot(QObject *caller, int method_index, void ** qPrintMessage(str); } -static void qSignalDumperCallbackEndSignal(QObject *caller, int /*method_index*/) -{ - Q_ASSERT(caller); Q_ASSERT(caller->metaObject()); - --QTest::iLevel; - Q_ASSERT(QTest::iLevel >= 0); -} - } void QSignalDumper::startDump() { static QSignalSpyCallbackSet set = { QTest::qSignalDumperCallback, - QTest::qSignalDumperCallbackSlot, - QTest::qSignalDumperCallbackEndSignal + QTest::qSignalDumperCallbackSlot }; qt_register_signal_spy_callbacks(set); } void QSignalDumper::endDump() { - static QSignalSpyCallbackSet nset = { 0, 0, 0 }; + static QSignalSpyCallbackSet nset = { 0, 0 }; qt_register_signal_spy_callbacks(nset); }