diff options
Diffstat (limited to 'src/corelib/kernel/qpointer.h')
-rw-r--r-- | src/corelib/kernel/qpointer.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/corelib/kernel/qpointer.h b/src/corelib/kernel/qpointer.h index 88d8225621..ef1d4dc1d5 100644 --- a/src/corelib/kernel/qpointer.h +++ b/src/corelib/kernel/qpointer.h @@ -50,6 +50,7 @@ QT_BEGIN_HEADER QT_BEGIN_NAMESPACE +class QVariant; class QPointerBase { @@ -184,6 +185,13 @@ inline bool operator!= (int i, const QPointer<T> &p) { Q_ASSERT(i == 0); return !i && !p.isNull(); } #endif +template<typename T> +QPointer<T> +qPointerFromVariant(const QVariant &variant) +{ + return QPointer<T>(qobject_cast<T*>(QtSharedPointer::weakPointerFromVariant_internal(variant).data())); +} + QT_END_NAMESPACE QT_END_HEADER |