]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/string.h
Adapted to API changes with respect to GetTextExtent (patch #1709152).
[wxWidgets.git] / include / wx / string.h
index 476af6441913699440a924cc0c8060e55ab7d2b0..43bde5e5c1636290927bcc2a4c8d31af5a98f00b 100644 (file)
@@ -186,8 +186,9 @@ private:
 public:
     // Ctor constructs the object from char literal; they are needed to make
     // operator?: compile and they intentionally take char*, not const char*
-    wxCStrData(char *buf);
-    wxCStrData(wchar_t *buf);
+    inline wxCStrData(char *buf);
+    inline wxCStrData(wchar_t *buf);
+    inline wxCStrData(const wxCStrData& data);
 
     inline ~wxCStrData();
 
@@ -2649,6 +2650,13 @@ inline wxCStrData::wxCStrData(char *buf)
 inline wxCStrData::wxCStrData(wchar_t *buf)
     : m_str(new wxString(buf)), m_offset(0), m_owned(true) {}
 
+inline wxCStrData::wxCStrData(const wxCStrData& data)
+    : m_str(data.m_owned ? new wxString(*data.m_str) : data.m_str),
+      m_offset(data.m_offset),
+      m_owned(data.m_owned)
+{
+}
+
 inline wxCStrData::~wxCStrData()
 {
     if ( m_owned )
@@ -2748,4 +2756,12 @@ inline wxWCharBuffer::wxWCharBuffer(const wxCStrData& cstr)
 {
 }
 
+#if WXWIN_COMPATIBILITY_2_8
+    // lot of code out there doesn't explicitly include wx/wxchar.h, but uses
+    // CRT wrappers that are now declared in wx/wxcrt.h and wx/wxcrtvararg.h,
+    // so let's include this header now that wxString is defined and it's safe
+    // to do it:
+    #include "wx/wxchar.h"
+#endif
+
 #endif  // _WX_WXSTRING_H_