diff --git a/src/corelib/compat/removed_api.cpp b/src/corelib/compat/removed_api.cpp index e6e3d0a8bb9..1db1401f0e7 100644 --- a/src/corelib/compat/removed_api.cpp +++ b/src/corelib/compat/removed_api.cpp @@ -1290,6 +1290,18 @@ void QBasicMutex::destroyInternal(QMutexPrivate *d) } #endif + +#include "qobject.h" + +#ifdef Q_COMPILER_MANGLES_RETURN_TYPE +QMetaObject *QObjectData::dynamicMetaObject() const +{ + // ### keep in sync with the master version in qobject.cpp + return metaObject->toDynamicMetaObject(q_ptr); +} +#endif // Q_COMPILER_MANGLES_RETURN_TYPE + + #include "qstring.h" QString QString::arg(qlonglong a, int fieldWidth, int base, QChar fillChar) const diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp index b631b534c2e..d3566b1081e 100644 --- a/src/corelib/kernel/qobject.cpp +++ b/src/corelib/kernel/qobject.cpp @@ -152,9 +152,9 @@ void (*QAbstractDeclarativeData::setWidgetParent)(QObject *, QObject *) = nullpt QObjectData::~QObjectData() {} -QT7_ONLY(const) -QMetaObject *QObjectData::dynamicMetaObject() const +const QMetaObject *QObjectData::dynamicMetaObject() const { + // ### keep in sync with removed_api.cpp version return metaObject->toDynamicMetaObject(q_ptr); } diff --git a/src/corelib/kernel/qobject.h b/src/corelib/kernel/qobject.h index 6b82a6ad4f6..26cbd80fb9c 100644 --- a/src/corelib/kernel/qobject.h +++ b/src/corelib/kernel/qobject.h @@ -90,10 +90,10 @@ public: QDynamicMetaObjectData *metaObject; QBindingStorage bindingStorage; -#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0) - const QMetaObject *dynamicMetaObject() const; -#else +#if QT_CORE_REMOVED_SINCE(6, 9) && defined(Q_COMPILER_MANGLES_RETURN_TYPE) QMetaObject *dynamicMetaObject() const; +#else + const QMetaObject *dynamicMetaObject() const; #endif #ifdef QT_DEBUG