diff options
Diffstat (limited to 'src/corelib/kernel/qmetaobject.cpp')
| -rw-r--r-- | src/corelib/kernel/qmetaobject.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp index bd1cfe5a1b8..83f670d9a50 100644 --- a/src/corelib/kernel/qmetaobject.cpp +++ b/src/corelib/kernel/qmetaobject.cpp @@ -2331,13 +2331,19 @@ int QMetaMethod::revision() const { if (!mobj) return 0; - if (data.flags() & MethodRevisioned) { + if ((data.flags() & MethodRevisioned) == 0) + return 0; +#if QT_VERSION < QT_VERSION_CHECK(7, 0, 0) + if (priv(mobj->d.data)->revision < 13) { + // revision number located elsewhere int offset = priv(mobj->d.data)->methodData + priv(mobj->d.data)->methodCount * Data::Size + QMetaMethodPrivate::get(this)->ownMethodIndex(); return mobj->d.data[offset]; } - return 0; +#endif + + return mobj->d.data[data.parameters() - 1]; } /*! |
