]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/string.h
removed broken and global GetLine() function from wx/protocol/protocol.h; there's...
[wxWidgets.git] / include / wx / string.h
index 04483f3e12f0bac4b0b2559b3b2de27a287ed7df..83d702c5bc82b54f66986ba654ebf179c7688d6f 100644 (file)
@@ -59,7 +59,7 @@
 #include "wx/stringops.h"
 #include "wx/unichar.h"
 
-class WXDLLIMPEXP_BASE wxString;
+class WXDLLIMPEXP_FWD_BASE wxString;
 
 // unless this symbol is predefined to disable the compatibility functions, do
 // use them
@@ -276,7 +276,7 @@ private:
     size_t m_offset;
     bool m_owned;
 
-    friend class WXDLLIMPEXP_BASE wxString;
+    friend class WXDLLIMPEXP_FWD_BASE wxString;
 };
 
 // ----------------------------------------------------------------------------
@@ -652,13 +652,13 @@ public:
           /* for internal wxString use only: */                             \
           underlying_iterator impl() const { return m_cur; }                \
                                                                             \
-          friend class WXDLLIMPEXP_BASE wxString;                           \
-          friend class WXDLLIMPEXP_BASE wxCStrData;                         \
+          friend class wxString;                                            \
+          friend class wxCStrData;                                          \
                                                                             \
       private:                                                              \
           underlying_iterator m_cur
 
-  class WXDLLIMPEXP_BASE const_iterator;
+  class WXDLLIMPEXP_FWD_BASE const_iterator;
 
 #if wxUSE_UNICODE_UTF8
   // NB: In UTF-8 build, (non-const) iterator needs to keep reference
@@ -2627,11 +2627,11 @@ private:
 
   wxStringIteratorNodeHead m_iterators;
 
-  friend class WXDLLIMPEXP_BASE wxStringIteratorNode;
-  friend class WXDLLIMPEXP_BASE wxUniCharRef;
+  friend class WXDLLIMPEXP_FWD_BASE wxStringIteratorNode;
+  friend class WXDLLIMPEXP_FWD_BASE wxUniCharRef;
 #endif // wxUSE_UNICODE_UTF8
 
-  friend class WXDLLIMPEXP_BASE wxCStrData;
+  friend class WXDLLIMPEXP_FWD_BASE wxCStrData;
   friend class wxImplStringBuffer;
   friend class wxImplStringBufferLength;
 };
@@ -3010,7 +3010,7 @@ inline wxCStrData::wxCStrData(const wxCStrData& data)
 inline wxCStrData::~wxCStrData()
 {
     if ( m_owned )
-        delete m_str;
+        delete wx_const_cast(wxString*, m_str); // cast to silence warnings
 }
 
 // simple cases for AsChar() and AsWChar(), the complicated ones are
@@ -3126,7 +3126,7 @@ void wxStringIteratorNode::DoSet(const wxString *str,
                                  wxStringImpl::const_iterator *citer,
                                  wxStringImpl::iterator *iter)
 {
-    m_next = m_prev = NULL;
+    m_prev = NULL;
     m_iter = iter;
     m_citer = citer;
     m_str = str;
@@ -3137,6 +3137,10 @@ void wxStringIteratorNode::DoSet(const wxString *str,
         if ( m_next )
             m_next->m_prev = this;
     }
+    else
+    {
+        m_next = NULL;
+    }
 }
 
 void wxStringIteratorNode::clear()