summaryrefslogtreecommitdiffstats
path: root/src/corelib
diff options
context:
space:
mode:
authorKent Hansen <kent.hansen@nokia.com>2012-05-27 22:38:17 +0200
committerQt by Nokia <qt-info@nokia.com>2012-06-03 11:04:33 +0200
commit0d86ca432ae39574dd644de1ebc73597a2e43974 (patch)
tree5e86dac6380c2bb42d33af84bdd5b8ae90a0fdbd /src/corelib
parente051819983bc6625f8c3f4b8158cb67c2bd8dd52 (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/corelib')
-rw-r--r--src/corelib/kernel/qobject.cpp25
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);