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:
@@ -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("");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user