summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Kelly <stephen.kelly@kdab.com>2012-05-30 15:52:21 +0200
committerQt by Nokia <qt-info@nokia.com>2012-06-01 03:16:08 +0200
commit55d0c6c6cf2c1244a7a42db5d97753640d02598c (patch)
tree5046300ae8ac4b41f36fc250332d417c1394db55
parent28dd6eda7b25113d31a8dc0fe3ac3eb263ad8ddc (diff)
Add clear() to QPointer for QWeakPointer compatibility.
Change-Id: I9efc162bf56775c7ebcff4e3b79a997edc4ceaeb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
-rw-r--r--src/corelib/kernel/qpointer.cpp8
-rw-r--r--src/corelib/kernel/qpointer.h5
2 files changed, 13 insertions, 0 deletions
diff --git a/src/corelib/kernel/qpointer.cpp b/src/corelib/kernel/qpointer.cpp
index cd88baf9bf..ec719e9cdc 100644
--- a/src/corelib/kernel/qpointer.cpp
+++ b/src/corelib/kernel/qpointer.cpp
@@ -171,6 +171,14 @@
*/
/*!
+ \fn void QPointer::clear()
+
+ Clears this QPointer object.
+
+ \sa isNull()
+*/
+
+/*!
\fn T* QPointer::operator->() const
Overloaded arrow operator; implements pointer semantics. Just use
diff --git a/src/corelib/kernel/qpointer.h b/src/corelib/kernel/qpointer.h
index a3035ebc94..5544a59705 100644
--- a/src/corelib/kernel/qpointer.h
+++ b/src/corelib/kernel/qpointer.h
@@ -69,6 +69,9 @@ protected:
inline bool isNull() const
{ return wp.isNull(); }
+
+ inline void clear()
+ { wp.clear(); }
};
template <class T>
@@ -93,8 +96,10 @@ public:
{ return data(); }
#ifdef qdoc
inline bool isNull() const;
+ inline void clear() const;
#else
using QPointerBase::isNull;
+ using QPointerBase::clear;
#endif
};
template <class T> Q_DECLARE_TYPEINFO_BODY(QPointer<T>, Q_MOVABLE_TYPE);