diff options
author | Bradley T. Hughes <bradley.hughes@nokia.com> | 2011-11-22 14:45:35 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-12-10 16:11:48 +0100 |
commit | 6f0f9f69288925ef423c542ef5eb7302a5431867 (patch) | |
tree | a0ded9966183fb45b7868d25350affa2259f29a1 /src/corelib/kernel/qobject.h | |
parent | a6ae75f92a8628c727a9c5a9961fa91c583c008e (diff) |
Remove QMetaObject guards and deprecate QPointer.
QWeakPointer is superior and preferred.
Remove QMetaObject::addGuard(), QMetaObject::changeGuard(),
QMetaObject::removeGuard(), and QObjectPrivate::clearGuards().
Implement QPointer using QWeakPointer<T> instead. This changes the
behavior of QPointer in 2 ways:
- During destruction of a QWidget. Previously, the destructor of QWidget
would reset all QPointers so that they would return zero when destroying
children. Update tst_QPointer to account for this change.
- When constructing a QSharedPointer to take ownership of an object
after a QPointer is already tracking the object. Previously, the shared
pointer construction would not be affected by the QPointer, but now
that QPointer is implemented using QWeakPoiner, constructing the
QSharedPointer will cause an abort(). Fix tst_QSharedPointer by
removing the use of QPointer in the objectCast() test.
These behavior changes are documented in the QPointer class
documentation and in the changes file.
Change-Id: I92d0276219c076ece7bcb60f6e1b9120ce4f5747
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Diffstat (limited to 'src/corelib/kernel/qobject.h')
-rw-r--r-- | src/corelib/kernel/qobject.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/corelib/kernel/qobject.h b/src/corelib/kernel/qobject.h index cc2ccb9e5b..a0d8076b73 100644 --- a/src/corelib/kernel/qobject.h +++ b/src/corelib/kernel/qobject.h @@ -105,9 +105,8 @@ public: uint receiveChildEvents : 1; uint inEventHandler : 1; //only used if QT_JAMBI_BUILD uint inThreadChangeEvent : 1; - uint hasGuards : 1; //true iff there is one or more QPointer attached to this object uint isWindow : 1; //for QWindow - uint unused : 21; + uint unused : 22; int postedEvents; QMetaObject *metaObject; // assert dynamic }; |