diff options
-rw-r--r-- | vmime/utility/smartPtr.hpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/vmime/utility/smartPtr.hpp b/vmime/utility/smartPtr.hpp index 9fb8315b..c52752ed 100644 --- a/vmime/utility/smartPtr.hpp +++ b/vmime/utility/smartPtr.hpp @@ -277,7 +277,14 @@ public: if (m_ptr) m_ptr->getRefManager()->addStrong(); +#if defined(_MSC_VER) // VC++ compiler bug (stack overflow) + ref <const T> r; + r.m_ptr = m_ptr; + return r; +#else return ref <const T>::fromPtrImpl(m_ptr); +#endif // defined(_MSC_VER) + } // Copy |