summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qpointer.h
diff options
context:
space:
mode:
authorStephen Kelly <stephen.kelly@kdab.com>2012-05-25 10:31:03 +0200
committerQt by Nokia <qt-info@nokia.com>2012-06-07 19:08:51 +0200
commitee7fa67eb0060b9c794bae4c7b06110c3b9626e0 (patch)
tree13401c7dcdb54f1e7ffbdd9c5a369c5c371dacdd /src/corelib/kernel/qpointer.h
parent77a03ebd8da28c3811fe505b2a84e2d42743005f (diff)
Deprecate the use of QWeakPointer to track QObjects.
The main problem with using QWeakPointer to track QObjects is that it has API to convert to QSharedPointer, which is undefined behavior. There is no need to overload the meaning of QWeakPointer with QObject tracking. QPointer is more suitable and should be used instead. Because QPointer is implemented in terms of QWeakPointer, we need to add some overloads which are not deprecated. Change-Id: If0333e4800c9fd277629cc69185c9ca3e4e7e81d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/kernel/qpointer.h')
-rw-r--r--src/corelib/kernel/qpointer.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/corelib/kernel/qpointer.h b/src/corelib/kernel/qpointer.h
index 5544a59705..88d8225621 100644
--- a/src/corelib/kernel/qpointer.h
+++ b/src/corelib/kernel/qpointer.h
@@ -57,7 +57,7 @@ class QPointerBase
protected:
inline QPointerBase() : wp() { }
- inline QPointerBase(QObject *p) : wp(p) { }
+ inline QPointerBase(QObject *p) : wp(p, true) { }
// compiler-generated copy/move ctor/assignment operators are fine! (even though public)
inline ~QPointerBase() { }
@@ -65,7 +65,7 @@ protected:
{ return wp.data(); }
inline void assign(QObject *p)
- { wp = p; }
+ { wp.assign(p); }
inline bool isNull() const
{ return wp.isNull(); }