From: Kent Hansen Date: Sun, 27 May 2012 20:38:17 +0000 (+0200) Subject: Use QMetaObjectPrivate::signalOffset() where appropriate X-Git-Tag: 071012110112~629 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0d86ca432ae39574dd644de1ebc73597a2e43974;hp=e051819983bc6625f8c3f4b8158cb67c2bd8dd52;p=profile%2Fivi%2Fqtbase.git 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 --- diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp index 2b03771..565d5ec 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(sender); QObject *r = const_cast(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);