use const wxMBConv& instead of wxMBConv& in public methods so that it's possible to pass in temporary objects;

don't use global wxConvUTF8 object internally, it may be unavailable at static objects destruction time


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45973 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2007-05-11 20:55:24 +00:00
parent 163d9efc6b
commit 5487ff0f50
16 changed files with 45 additions and 42 deletions

View File

@@ -340,7 +340,7 @@ wxString::SubstrBufFromMB wxString::ConvertStr(const char *psz, size_t nLength,
return SubstrBufFromMB("", 0);
// and then to UTF-8:
SubstrBufFromMB buf(ConvertStr(wcBuf, wcLen, wxConvUTF8));
SubstrBufFromMB buf(ConvertStr(wcBuf, wcLen, wxMBConvUTF8()));
// widechar -> UTF-8 conversion isn't supposed to ever fail:
wxASSERT_MSG( buf.data, _T("conversion to UTF-8 failed") );
@@ -382,9 +382,9 @@ const wxCharBuffer wxString::mb_str(const wxMBConv& conv) const
const wxWCharBuffer wxString::wc_str() const
{
return wxConvUTF8.cMB2WC(m_impl.c_str(),
m_impl.length() + 1 /* size, not length */,
NULL);
return wxMBConvUTF8().cMB2WC(m_impl.c_str(),
m_impl.length() + 1 /* size, not length */,
NULL);
}
const wxCharBuffer wxString::mb_str(const wxMBConv& conv) const
@@ -396,9 +396,9 @@ const wxCharBuffer wxString::mb_str(const wxMBConv& conv) const
size_t wcLen;
wxWCharBuffer wcBuf(
wxConvUTF8.cMB2WC(m_impl.c_str(),
m_impl.length() + 1 /* size, not length */,
&wcLen));
wxMBConvUTF8().cMB2WC(m_impl.c_str(),
m_impl.length() + 1 /* size, not length */,
&wcLen));
if ( !wcLen )
return wxCharBuffer("");