]> git.saurik.com Git - wxWidgets.git/commitdiff
Reneabled inlining, but kept warnings disabled....
authorRyan Norton <wxprojects@comcast.net>
Sun, 14 Dec 2003 04:23:35 +0000 (04:23 +0000)
committerRyan Norton <wxprojects@comcast.net>
Sun, 14 Dec 2003 04:23:35 +0000 (04:23 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24831 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/string.h

index 3c00f4a892f470940c48c49dea676885e75c663e..eed7c84c395150407518e582826d5bb5d908f66a 100644 (file)
@@ -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);