aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVincent Richard <[email protected]>2007-03-12 08:36:10 +0000
committerVincent Richard <[email protected]>2007-03-12 08:36:10 +0000
commit9bada472d75e8777e87304ac36afb097a113bf88 (patch)
tree00b0fe63dcc9d9a11c7d838b67e80caa77a57ca4
parentFixed warning. (diff)
downloadvmime-9bada472d75e8777e87304ac36afb097a113bf88.tar.gz
vmime-9bada472d75e8777e87304ac36afb097a113bf88.zip
Fixed stack overflow error with VC++.
-rw-r--r--vmime/utility/smartPtr.hpp7
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