From 5398b886ed0da065fe084da0f107bebba0a163ba Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 14 Aug 2015 11:27:36 +0200 Subject: 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. --- odb/qt/smart-ptr/lazy-ptr.hxx | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'odb/qt/smart-ptr/lazy-ptr.hxx') diff --git a/odb/qt/smart-ptr/lazy-ptr.hxx b/odb/qt/smart-ptr/lazy-ptr.hxx index e964837..664eb7f 100644 --- a/odb/qt/smart-ptr/lazy-ptr.hxx +++ b/odb/qt/smart-ptr/lazy-ptr.hxx @@ -196,6 +196,13 @@ private: template friend class QLazySharedPointer; template friend class QLazyWeakPointer; + // For QLazyWeakPointer::toStrongRef(). + // + QLazySharedPointer (const QSharedPointer& p, + const odb::lazy_ptr_impl& i) + : p_ (p), i_ (i) {} + +private: mutable QSharedPointer p_; mutable odb::lazy_ptr_impl i_; }; -- cgit v1.1