summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/corelib/compat/removed_api.cpp12
-rw-r--r--src/corelib/kernel/qobject.cpp4
-rw-r--r--src/corelib/kernel/qobject.h6
3 files changed, 17 insertions, 5 deletions
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