X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/830f8f11bca5c0892ae767ba14790c8b5b59011f..41f44cca0a5130f104aaeefad1f07a39a1491c0f:/src/common/datstrm.cpp diff --git a/src/common/datstrm.cpp b/src/common/datstrm.cpp index 67a2e45805..b4a4816f45 100644 --- a/src/common/datstrm.cpp +++ b/src/common/datstrm.cpp @@ -27,7 +27,7 @@ #if wxUSE_UNICODE wxDataInputStream::wxDataInputStream(wxInputStream& s, const wxMBConv& conv) - : m_input(&s), m_be_order(false), m_conv(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); @@ -446,7 +453,7 @@ wxDataInputStream& wxDataInputStream::operator>>(float& f) #if wxUSE_UNICODE wxDataOutputStream::wxDataOutputStream(wxOutputStream& s, const wxMBConv& conv) - : m_output(&s), m_be_order(false), m_conv(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