int QObject::senderSignalIndex() const
{
Q_D(const QObject);
-
- QMutexLocker locker(signalSlotLock(this));
- if (!d->currentSender)
- return -1;
-
- for (QObjectPrivate::Connection *c = d->senders; c; c = c->next) {
- if (c->sender == d->currentSender->sender)
- return d->currentSender->signal;
- }
-
- return -1;
+ return d->senderSignalIndex();
}
/*!
}
/*! \internal
+ Implementation of QObject::senderSignalIndex()
+*/
+int QObjectPrivate::senderSignalIndex() const
+{
+ Q_Q(const QObject);
+ QMutexLocker locker(signalSlotLock(q));
+ if (!currentSender)
+ return -1;
+
+ for (QObjectPrivate::Connection *c = senders; c; c = c->next) {
+ if (c->sender == currentSender->sender)
+ return currentSender->signal;
+ }
+
+ return -1;
+}
+
+/*! \internal
Returns the signal index used in the internal connectionLists vector.
It is different from QMetaObject::indexOfSignal(): indexOfSignal is the same as indexOfMethod
return o->d_func();
}
+ int senderSignalIndex() const;
int signalIndex(const char *signalName, const QMetaObject **meta = 0) const;
inline bool isSignalConnected(uint signalIdx) const;