From 7b758e8f43b060833c2415d8f2634804ab5024b7 Mon Sep 17 00:00:00 2001 From: Ryan Norton Date: Sun, 14 Dec 2003 04:23:35 +0000 Subject: [PATCH] Reneabled inlining, but kept warnings disabled.... git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24831 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/string.h | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/include/wx/string.h b/include/wx/string.h index 3c00f4a892..eed7c84c39 100644 --- a/include/wx/string.h +++ b/include/wx/string.h @@ -216,8 +216,7 @@ struct WXDLLIMPEXP_BASE wxStringData // VC++ will refuse to inline Unlock but profiling shows that it is wrong #if defined(__VISUALC__) && (__VISUALC__ >= 1200) -// RN - VC6 Refuses to inline this anyway and spits out 2 warnings... -// __forceinline + __forceinline #endif // VC++ free must take place in same DLL as allocation when using non dll // run-time library (e.g. Multithreaded instead of Multithreaded DLL) @@ -332,8 +331,21 @@ public: wxStringBase(const void *pStart, const void *pEnd); // dtor is not virtual, this class must not be inherited from! - ~wxStringBase() { GetStringData()->Unlock(); } + ~wxStringBase() + { +#if defined(__VISUALC__) && (__VISUALC__ >= 1200) + //RN - according to the above VC++ does indeed inline this, + //even though it spits out two warnings + #pragma warning (disable:4714) +#endif + GetStringData()->Unlock(); + } + +#if defined(__VISUALC__) && (__VISUALC__ >= 1200) + //re-enable inlining warning + #pragma warning (default:4714) +#endif // overloaded assignment // from another wxString wxStringBase& operator=(const wxStringBase& stringSrc);