]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/datstrm.cpp
renamed wxComboControl to wxComboCtrl and related wxUSE_XXX and configure switches...
[wxWidgets.git] / src / common / datstrm.cpp
index a1961c3f021af8ce810f9b1f1efd78bb08574006..b4a4816f45f90f0e0f9b68539b2236d90b50ca41 100644 (file)
@@ -26,8 +26,8 @@
 // ---------------------------------------------------------------------------
 
 #if wxUSE_UNICODE
-wxDataInputStream::wxDataInputStream(wxInputStream& s, wxMBConv& conv)
-  : m_input(&s), m_be_order(false), m_conv(conv)
+wxDataInputStream::wxDataInputStream(wxInputStream& s, const wxMBConv& conv)
+  : m_input(&s), m_be_order(false), m_conv(conv.Clone())
 #else
 wxDataInputStream::wxDataInputStream(wxInputStream& s)
   : m_input(&s), m_be_order(false)
@@ -35,6 +35,13 @@ wxDataInputStream::wxDataInputStream(wxInputStream& s)
 {
 }
 
+wxDataInputStream::~wxDataInputStream()
+{
+#if wxUSE_UNICODE
+    delete m_conv;
+#endif // wxUSE_UNICODE
+}
+
 #if wxHAS_INT64
 wxUint64 wxDataInputStream::Read64()
 {
@@ -100,7 +107,7 @@ wxString wxDataInputStream::ReadString()
     wxCharBuffer tmp(len + 1);
     m_input->Read(tmp.data(), len);
     tmp.data()[len] = '\0';
-    wxString ret(m_conv.cMB2WX(tmp.data()));
+    wxString ret(m_conv->cMB2WX(tmp.data()));
 #else
     wxString ret;
     m_input->Read( wxStringBuffer(ret, len), len);
@@ -445,8 +452,8 @@ wxDataInputStream& wxDataInputStream::operator>>(float& f)
 // ---------------------------------------------------------------------------
 
 #if wxUSE_UNICODE
-wxDataOutputStream::wxDataOutputStream(wxOutputStream& s, wxMBConv& conv)
-  : m_output(&s), m_be_order(false), m_conv(conv)
+wxDataOutputStream::wxDataOutputStream(wxOutputStream& s, const wxMBConv& conv)
+  : m_output(&s), m_be_order(false), m_conv(conv.Clone())
 #else
 wxDataOutputStream::wxDataOutputStream(wxOutputStream& s)
   : m_output(&s), m_be_order(false)
@@ -454,6 +461,13 @@ wxDataOutputStream::wxDataOutputStream(wxOutputStream& s)
 {
 }
 
+wxDataOutputStream::~wxDataOutputStream()
+{
+#if wxUSE_UNICODE
+    delete m_conv;
+#endif // wxUSE_UNICODE
+}
+
 #if wxHAS_INT64
 void wxDataOutputStream::Write64(wxUint64 i)
 {
@@ -497,7 +511,7 @@ void wxDataOutputStream::Write8(wxUint8 i)
 void wxDataOutputStream::WriteString(const wxString& string)
 {
 #if wxUSE_UNICODE
-  const wxWX2MBbuf buf = string.mb_str(m_conv);
+  const wxWX2MBbuf buf = string.mb_str(*m_conv);
 #else
   const wxWX2MBbuf buf = string.mb_str();
 #endif