From f0f7bcd7b2e86209b42199858439ccf5af58d660 Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Wed, 23 Dec 2015 01:31:58 +0200 Subject: [PATCH] port QSignalEventGenerator meta-object to revision 6 upstream commits: f83724a0f282862aa91a28baa20e555b1b64371c Signed-off-by: Ivailo Monev --- src/core/statemachine/qsignaleventgenerator_p.h | 8 ++-- src/core/statemachine/qstatemachine.cpp | 59 +++++++++++++++++-------- 2 files changed, 44 insertions(+), 23 deletions(-) diff --git a/src/core/statemachine/qsignaleventgenerator_p.h b/src/core/statemachine/qsignaleventgenerator_p.h index e9f093736..44e311669 100644 --- a/src/core/statemachine/qsignaleventgenerator_p.h +++ b/src/core/statemachine/qsignaleventgenerator_p.h @@ -61,13 +61,13 @@ class QStateMachine; class QSignalEventGenerator : public QObject { + Q_OBJECT_FAKE public: QSignalEventGenerator(QStateMachine *parent); - static const QMetaObject staticMetaObject; - virtual const QMetaObject *metaObject() const; - virtual void *qt_metacast(const char *); - virtual int qt_metacall(QMetaObject::Call, int, void **argv); +private: +// slots + void execute(void **_a); private: Q_DISABLE_COPY(QSignalEventGenerator) diff --git a/src/core/statemachine/qstatemachine.cpp b/src/core/statemachine/qstatemachine.cpp index fc07a445f..4f95916c3 100644 --- a/src/core/statemachine/qstatemachine.cpp +++ b/src/core/statemachine/qstatemachine.cpp @@ -2209,16 +2209,19 @@ void QStateMachine::removeDefaultAnimation(QAbstractAnimation *animation) #endif // QT_NO_ANIMATION +// Begin moc-generated code -- modify carefully (check "HAND EDIT" parts)! static const uint qt_meta_data_QSignalEventGenerator[] = { // content: - 2, // revision + 6, // revision 0, // classname 0, 0, // classinfo - 1, 12, // methods + 1, 14, // methods 0, 0, // properties 0, 0, // enums/sets 0, 0, // constructors + 0, // flags + 0, // signalCount // slots: signature, parameters, type, tag, flags 23, 22, 22, 22, 0x0a, @@ -2230,9 +2233,26 @@ static const char qt_meta_stringdata_QSignalEventGenerator[] = { "QSignalEventGenerator\0\0execute()\0" }; +void QSignalEventGenerator::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + if (_c == QMetaObject::InvokeMetaMethod) { + Q_ASSERT(staticMetaObject.cast(_o)); + QSignalEventGenerator *_t = static_cast(_o); + switch (_id) { + case 0: _t->execute(_a); break; // HAND EDIT: add the _a parameter + default: ; + } + } + Q_UNUSED(_a); +} + +const QMetaObjectExtraData QSignalEventGenerator::staticMetaObjectExtraData = { + 0, qt_static_metacall +}; + const QMetaObject QSignalEventGenerator::staticMetaObject = { { &QObject::staticMetaObject, qt_meta_stringdata_QSignalEventGenerator, - qt_meta_data_QSignalEventGenerator, 0 } + qt_meta_data_QSignalEventGenerator, &staticMetaObjectExtraData } }; const QMetaObject *QSignalEventGenerator::metaObject() const @@ -2254,26 +2274,27 @@ int QSignalEventGenerator::qt_metacall(QMetaObject::Call _c, int _id, void **_a) if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { - switch (_id) { - case 0: { -// ### in Qt 4.6 we can use QObject::senderSignalIndex() - QObjectPrivate *d = static_cast(d_ptr.data()); - int signalIndex = -1; - QObject *sender = this->sender(); - if (sender && d->currentSender) - signalIndex = d->currentSender->signal; - - Q_ASSERT(signalIndex != -1); - QStateMachine *machine = qobject_cast(parent()); - QStateMachinePrivate::get(machine)->handleTransitionSignal(sender, signalIndex, _a); - break; - } - default: ; - } + if (_id < 1) + qt_static_metacall(this, _c, _id, _a); _id -= 1; } return _id; } +// End moc-generated code + +void QSignalEventGenerator::execute(void **_a) +{ +// ### in Qt 4.6 we can use QObject::senderSignalIndex() + QObjectPrivate *d = static_cast(d_ptr.data()); + int signalIndex = -1; + QObject *sender = this->sender(); + if (sender && d->currentSender) + signalIndex = d->currentSender->signal; + + Q_ASSERT(signalIndex != -1); + QStateMachine *machine = qobject_cast(parent()); + QStateMachinePrivate::get(machine)->handleTransitionSignal(sender, signalIndex, _a); +} QSignalEventGenerator::QSignalEventGenerator(QStateMachine *parent) : QObject(parent) -- 2.11.0