diff options
author | Kent Hansen <kent.hansen@nokia.com> | 2012-05-27 22:38:17 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-06-03 11:04:33 +0200 |
commit | 0d86ca432ae39574dd644de1ebc73597a2e43974 (patch) | |
tree | 5e86dac6380c2bb42d33af84bdd5b8ae90a0fdbd /src | |
parent | e051819983bc6625f8c3f4b8158cb67c2bd8dd52 (diff) |
Use QMetaObjectPrivate::signalOffset() where appropriate
computeOffsets() was unnecessarily computing the method index, when
only the signal index is needed.
Change-Id: Id682d4447ba283a44cf0ea15cc47bd30edccb57b
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/corelib/kernel/qobject.cpp | 25 |
1 files changed, 6 insertions, 19 deletions
diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp index 2b03771b1a..565d5ec707 100644 --- a/src/corelib/kernel/qobject.cpp +++ b/src/corelib/kernel/qobject.cpp @@ -2232,10 +2232,7 @@ bool QObject::isSignalConnected(const QMetaMethod &signal) const if (signal.mobj->d.data[signal.handle + 4] & MethodCloned) signalIndex = QMetaObjectPrivate::originalClone(signal.mobj, signalIndex); - int signalOffset; - int methodOffset; - computeOffsets(signal.mobj, &signalOffset, &methodOffset); - signalIndex += signalOffset; + signalIndex += QMetaObjectPrivate::signalOffset(signal.mobj); if (signalIndex < sizeof(d->connectedSignals) * 8) return d->isSignalConnected(signalIndex); @@ -2429,9 +2426,7 @@ QMetaObject::Connection QObject::connect(const QObject *sender, const char *sign return QMetaObject::Connection(0); } signal_index = QMetaObjectPrivate::originalClone(smeta, signal_index); - int signalOffset, methodOffset; - computeOffsets(smeta, &signalOffset, &methodOffset); - signal_index += signalOffset; + signal_index += QMetaObjectPrivate::signalOffset(smeta); QByteArray tmp_method_name; int membcode = extract_code(method); @@ -2734,9 +2729,7 @@ bool QObject::disconnect(const QObject *sender, const char *signal, if (signal_index < 0) break; signal_index = QMetaObjectPrivate::originalClone(smeta, signal_index); - int signalOffset, methodOffset; - computeOffsets(smeta, &signalOffset, &methodOffset); - signal_index += signalOffset; + signal_index += QMetaObjectPrivate::signalOffset(smeta); signal_found = true; } @@ -3494,11 +3487,9 @@ int QObjectPrivate::signalIndex(const char *signalName, if (relative_index < 0) return relative_index; relative_index = QMetaObjectPrivate::originalClone(base, relative_index); - int signalOffset, methodOffset; - computeOffsets(base, &signalOffset, &methodOffset); if (meta) *meta = base; - return relative_index + signalOffset; + return relative_index + QMetaObjectPrivate::signalOffset(base); } /***************************************************************************** @@ -4166,9 +4157,7 @@ QMetaObject::Connection QObject::connectImpl(const QObject *sender, void **signa delete slotObj; return QMetaObject::Connection(0); } - int signalOffset, methodOffset; - computeOffsets(senderMetaObject, &signalOffset, &methodOffset); - signal_index += signalOffset; + signal_index += QMetaObjectPrivate::signalOffset(senderMetaObject); QObject *s = const_cast<QObject *>(sender); QObject *r = const_cast<QObject *>(receiver); @@ -4323,9 +4312,7 @@ bool QObject::disconnectImpl(const QObject *sender, void **signal, const QObject qWarning("QObject::disconnect: signal not found in %s", senderMetaObject->className()); return false; } - int signalOffset, methodOffset; - computeOffsets(senderMetaObject, &signalOffset, &methodOffset); - signal_index += signalOffset; + signal_index += QMetaObjectPrivate::signalOffset(senderMetaObject); } return QMetaObjectPrivate::disconnect(sender, signal_index, senderMetaObject, receiver, -1, slot); |