Fix To-Do in qstatemachine (use QObject::senderSignalIndex())

Change-Id: Id8a541878918f27a34595ff297d0f41b79275a96
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
This commit is contained in:
Kent Hansen 2012-05-28 11:21:04 +02:00 committed by Qt by Nokia
parent 3aac6768f8
commit 87d7545cd0

View File

@ -2299,16 +2299,10 @@ int QSignalEventGenerator::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
void QSignalEventGenerator::execute(void **_a)
{
// ### in Qt 4.6 we can use QObject::senderSignalIndex()
QObjectPrivate *d = static_cast<QObjectPrivate *>(d_ptr.data());
int signalIndex = -1;
QObject *sender = this->sender();
if (sender && d->currentSender)
signalIndex = d->currentSender->signal;
int signalIndex = senderSignalIndex();
Q_ASSERT(signalIndex != -1);
QStateMachine *machine = qobject_cast<QStateMachine*>(parent());
QStateMachinePrivate::get(machine)->handleTransitionSignal(sender, signalIndex, _a);
QStateMachinePrivate::get(machine)->handleTransitionSignal(sender(), signalIndex, _a);
}
QSignalEventGenerator::QSignalEventGenerator(QStateMachine *parent)