QObject: implement the ### Qt7 for dynamicMetaObject()
As requested in qtbase/5d174877234477a59eb29818d3cfb99fedc3e704. Change-Id: I5f6568921a25918a5ae3fffdff7c136d3eb455a9 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
This commit is contained in:
parent
a9fe57fefa
commit
0b044e8b05
@ -152,6 +152,7 @@ void (*QAbstractDeclarativeData::setWidgetParent)(QObject *, QObject *) = nullpt
|
||||
|
||||
QObjectData::~QObjectData() {}
|
||||
|
||||
QT7_ONLY(const)
|
||||
QMetaObject *QObjectData::dynamicMetaObject() const
|
||||
{
|
||||
return metaObject->toDynamicMetaObject(q_ptr);
|
||||
|
@ -90,9 +90,11 @@ public:
|
||||
QDynamicMetaObjectData *metaObject;
|
||||
QBindingStorage bindingStorage;
|
||||
|
||||
// ### Qt7: Make this return a const QMetaObject *. You should not mess with
|
||||
// the metaobjects of existing objects.
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0)
|
||||
const QMetaObject *dynamicMetaObject() const;
|
||||
#else
|
||||
QMetaObject *dynamicMetaObject() const;
|
||||
#endif
|
||||
|
||||
#ifdef QT_DEBUG
|
||||
enum { CheckForParentChildLoopsWarnDepth = 4096 };
|
||||
|
@ -469,7 +469,11 @@ struct Q_CORE_EXPORT QDynamicMetaObjectData
|
||||
virtual ~QDynamicMetaObjectData();
|
||||
virtual void objectDestroyed(QObject *) { delete this; }
|
||||
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0)
|
||||
virtual const QMetaObject *toDynamicMetaObject(QObject *) const = 0;
|
||||
#else
|
||||
virtual QMetaObject *toDynamicMetaObject(QObject *) = 0;
|
||||
#endif
|
||||
virtual int metaCall(QObject *, QMetaObject::Call, int _id, void **) = 0;
|
||||
};
|
||||
|
||||
@ -477,7 +481,11 @@ struct Q_CORE_EXPORT QAbstractDynamicMetaObject : public QDynamicMetaObjectData,
|
||||
{
|
||||
~QAbstractDynamicMetaObject();
|
||||
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0)
|
||||
const QMetaObject *toDynamicMetaObject(QObject *) const override { return this; }
|
||||
#else
|
||||
QMetaObject *toDynamicMetaObject(QObject *) override { return this; }
|
||||
#endif
|
||||
virtual int createProperty(const char *, const char *) { return -1; }
|
||||
int metaCall(QObject *, QMetaObject::Call c, int _id, void **a) override
|
||||
{ return metaCall(c, _id, a); }
|
||||
|
Loading…
x
Reference in New Issue
Block a user