summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qsharedpointer_impl.h
diff options
context:
space:
mode:
authorGiuseppe D'Angelo <giuseppe.dangelo@kdab.com>2019-05-10 20:59:52 +0200
committerGiuseppe D'Angelo <giuseppe.dangelo@kdab.com>2019-05-16 13:59:52 +0000
commitb7a7d61efc7319ed8ce111ba20d14403b1161ce8 (patch)
tree3550dec5698b48b681e5de3777892490921bc1ac /src/corelib/tools/qsharedpointer_impl.h
parent5497183c71de352324cab05f3c0a768be75a236a (diff)
Deprecate QWeakPointer::data()
It's a dangerous API to have. Upgrade to a shared pointer if accessing the raw pointer is required. [ChangeLog][QtCore][QWeakPointer] The data() function has been deprecated. Change-Id: Ie5d34f4fb500b3cfa14d2c0b1b08484df072129c Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'src/corelib/tools/qsharedpointer_impl.h')
-rw-r--r--src/corelib/tools/qsharedpointer_impl.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/corelib/tools/qsharedpointer_impl.h b/src/corelib/tools/qsharedpointer_impl.h
index 80543f1983..d16a7c6659 100644
--- a/src/corelib/tools/qsharedpointer_impl.h
+++ b/src/corelib/tools/qsharedpointer_impl.h
@@ -565,7 +565,11 @@ public:
bool isNull() const noexcept { return d == nullptr || d->strongref.load() == 0 || value == nullptr; }
operator RestrictedBool() const noexcept { return isNull() ? nullptr : &QWeakPointer::value; }
bool operator !() const noexcept { return isNull(); }
+
+#if QT_DEPRECATED_SINCE(5, 14)
+ QT_DEPRECATED_X("Use toStrongRef() instead, and data() on the returned QSharedPointer")
T *data() const noexcept { return d == nullptr || d->strongref.load() == 0 ? nullptr : value; }
+#endif
inline QWeakPointer() noexcept : d(nullptr), value(nullptr) { }
inline ~QWeakPointer() { if (d && !d->weakref.deref()) delete d; }