diff options
author | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2019-05-13 14:52:28 +0200 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2019-05-18 08:02:33 +0200 |
commit | eb8b63542ff32ede3bfb54f2b0c698b74f2aecc9 (patch) | |
tree | aec207b285b0f093aaecbe61398cca2b90c5ca5f /src/corelib/kernel | |
parent | 2e835288562cf49d34037a3c4c1c326009688a44 (diff) |
Disable copies in QObjectData / QObjectUserData
They're meant to be subclassed, so we need to avoid slicing.
Change-Id: I384b65478f728c69aaf1edbc985b3fb4150191fe
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Diffstat (limited to 'src/corelib/kernel')
-rw-r--r-- | src/corelib/kernel/qobject.cpp | 11 | ||||
-rw-r--r-- | src/corelib/kernel/qobject.h | 4 |
2 files changed, 15 insertions, 0 deletions
diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp index d5ef3ff816..9c3e67c781 100644 --- a/src/corelib/kernel/qobject.cpp +++ b/src/corelib/kernel/qobject.cpp @@ -173,6 +173,12 @@ int (*QAbstractDeclarativeData::receivers)(QAbstractDeclarativeData *, const QO bool (*QAbstractDeclarativeData::isSignalConnected)(QAbstractDeclarativeData *, const QObject *, int) = 0; void (*QAbstractDeclarativeData::setWidgetParent)(QObject *, QObject *) = 0; +/*! + \fn QObjectData::QObjectData() + \internal + */ + + QObjectData::~QObjectData() {} QMetaObject *QObjectData::dynamicMetaObject() const @@ -4169,6 +4175,11 @@ uint QObject::registerUserData() } /*! + \fn QObjectUserData::QObjectUserData() + \internal + */ + +/*! \internal */ QObjectUserData::~QObjectUserData() diff --git a/src/corelib/kernel/qobject.h b/src/corelib/kernel/qobject.h index 1d83731441..12512e74c5 100644 --- a/src/corelib/kernel/qobject.h +++ b/src/corelib/kernel/qobject.h @@ -93,7 +93,9 @@ Q_CORE_EXPORT void qt_qFindChildren_helper(const QObject *parent, const QRegular Q_CORE_EXPORT QObject *qt_qFindChild_helper(const QObject *parent, const QString &name, const QMetaObject &mo, Qt::FindChildOptions options); class Q_CORE_EXPORT QObjectData { + Q_DISABLE_COPY(QObjectData) public: + QObjectData() = default; virtual ~QObjectData() = 0; QObject *q_ptr; QObject *parent; @@ -472,7 +474,9 @@ inline const QMetaObject *qt_getQtMetaObject() noexcept #ifndef QT_NO_USERDATA class Q_CORE_EXPORT QObjectUserData { + Q_DISABLE_COPY(QObjectUserData) public: + QObjectUserData() = default; virtual ~QObjectUserData(); }; #endif |