aboutsummaryrefslogtreecommitdiff
path: root/odb/qt/smart-ptr/lazy-ptr.ixx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2015-08-14 11:27:36 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2015-08-14 11:27:36 +0200
commit5398b886ed0da065fe084da0f107bebba0a163ba (patch)
tree85deb4b66b4c114e55b6654e8ba8ee1d2bbf1262 /odb/qt/smart-ptr/lazy-ptr.ixx
parentda7829e9e5297c47d6e9c5efee599e6e207cd43b (diff)
Reimplement lazy_weak_ptr lock() to preserve database type
Now we initialize the returned lazy_shared_ptr with the same loader function as the one set for weak_ptr.
Diffstat (limited to 'odb/qt/smart-ptr/lazy-ptr.ixx')
-rw-r--r--odb/qt/smart-ptr/lazy-ptr.ixx7
1 files changed, 7 insertions, 0 deletions
diff --git a/odb/qt/smart-ptr/lazy-ptr.ixx b/odb/qt/smart-ptr/lazy-ptr.ixx
index d2b462f..181044c 100644
--- a/odb/qt/smart-ptr/lazy-ptr.ixx
+++ b/odb/qt/smart-ptr/lazy-ptr.ixx
@@ -196,6 +196,13 @@ loaded () const
}
template <class T>
+inline QLazySharedPointer<T> QLazyWeakPointer<T>::
+toStrongRef () const
+{
+ return QLazySharedPointer<T> (p_.toStrongRef (), i_);
+}
+
+template <class T>
inline QSharedPointer<T> QLazySharedPointer<T>::
load () const
{