diff --git a/src/corelib/kernel/qobject.h b/src/corelib/kernel/qobject.h index c94fb17755..e75cf3217e 100644 --- a/src/corelib/kernel/qobject.h +++ b/src/corelib/kernel/qobject.h @@ -111,6 +111,9 @@ public: int postedEvents; QDynamicMetaObjectData *metaObject; QBindingStorage bindingStorage; + + // ### Qt7: Make this return a const QMetaObject *. You should not mess with + // the metaobjects of existing objects. QMetaObject *dynamicMetaObject() const; #ifdef QT_DEBUG diff --git a/src/corelib/kernel/qobject_p.h b/src/corelib/kernel/qobject_p.h index c119fdfe7e..da171f5c7f 100644 --- a/src/corelib/kernel/qobject_p.h +++ b/src/corelib/kernel/qobject_p.h @@ -656,7 +656,7 @@ struct Q_CORE_EXPORT QDynamicMetaObjectData virtual ~QDynamicMetaObjectData(); virtual void objectDestroyed(QObject *) { delete this; } - virtual QAbstractDynamicMetaObject *toDynamicMetaObject(QObject *) = 0; + virtual QMetaObject *toDynamicMetaObject(QObject *) = 0; virtual int metaCall(QObject *, QMetaObject::Call, int _id, void **) = 0; }; @@ -664,7 +664,7 @@ struct Q_CORE_EXPORT QAbstractDynamicMetaObject : public QDynamicMetaObjectData, { ~QAbstractDynamicMetaObject(); - QAbstractDynamicMetaObject *toDynamicMetaObject(QObject *) override { return this; } + QMetaObject *toDynamicMetaObject(QObject *) override { return this; } 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); }