diff options
Diffstat (limited to 'src/corelib/kernel')
-rw-r--r-- | src/corelib/kernel/qmetaobject.cpp | 9 | ||||
-rw-r--r-- | src/corelib/kernel/qmetaobject_p.h | 8 |
2 files changed, 8 insertions, 9 deletions
diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp index f366d2fe49..cc396d9239 100644 --- a/src/corelib/kernel/qmetaobject.cpp +++ b/src/corelib/kernel/qmetaobject.cpp @@ -814,6 +814,7 @@ int QMetaObjectPrivate::indexOfConstructor(const QMetaObject *m, const QByteArra } /*! + \fn int QMetaObjectPrivate::signalOffset(const QMetaObject *m) \internal \since 5.0 @@ -823,14 +824,6 @@ int QMetaObjectPrivate::indexOfConstructor(const QMetaObject *m, const QByteArra Similar to QMetaObject::methodOffset(), but non-signal methods are excluded. */ -int QMetaObjectPrivate::signalOffset(const QMetaObject *m) -{ - Q_ASSERT(m != 0); - int offset = 0; - for (m = m->d.superdata; m; m = m->d.superdata) - offset += priv(m->d.data)->signalCount; - return offset; -} /*! \internal diff --git a/src/corelib/kernel/qmetaobject_p.h b/src/corelib/kernel/qmetaobject_p.h index 0cd9da2eac..56e3d6cb44 100644 --- a/src/corelib/kernel/qmetaobject_p.h +++ b/src/corelib/kernel/qmetaobject_p.h @@ -208,7 +208,13 @@ struct QMetaObjectPrivate static int indexOfConstructor(const QMetaObject *m, const QByteArray &name, int argc, const QArgumentType *types); Q_CORE_EXPORT static QMetaMethod signal(const QMetaObject *m, int signal_index); - Q_CORE_EXPORT static int signalOffset(const QMetaObject *m); + static inline int signalOffset(const QMetaObject *m) { + Q_ASSERT(m != nullptr); + int offset = 0; + for (m = m->d.superdata; m; m = m->d.superdata) + offset += reinterpret_cast<const QMetaObjectPrivate*>(m->d.data)->signalCount; + return offset; + } Q_CORE_EXPORT static int absoluteSignalCount(const QMetaObject *m); Q_CORE_EXPORT static int signalIndex(const QMetaMethod &m); static bool checkConnectArgs(int signalArgc, const QArgumentType *signalTypes, |