From: Vadim Zeitlin Date: Sat, 19 Jul 2008 01:45:38 +0000 (+0000) Subject: fix bug with wxCSConv("ASCII") X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/e3276230de335908f70232b2a5ede43665bd8d9d?ds=inline fix bug with wxCSConv("ASCII") git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54703 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/common/strconv.cpp b/src/common/strconv.cpp index 91958d6e61..31dc602f35 100644 --- a/src/common/strconv.cpp +++ b/src/common/strconv.cpp @@ -2890,6 +2890,16 @@ wxCSConv::wxCSConv(const wxString& charset) #if wxUSE_FONTMAP m_encoding = wxFontMapperBase::GetEncodingFromName(charset); + if ( m_encoding == wxFONTENCODING_MAX ) + { + // set to unknown/invalid value + m_encoding = wxFONTENCODING_SYSTEM; + } + else if ( m_encoding == wxFONTENCODING_DEFAULT ) + { + // wxFONTENCODING_DEFAULT is same as US-ASCII in this context + m_encoding = wxFONTENCODING_ISO8859_1; + } #else m_encoding = wxFONTENCODING_SYSTEM; #endif diff --git a/tests/strings/unicode.cpp b/tests/strings/unicode.cpp index 05ab2b318b..6211e9e489 100644 --- a/tests/strings/unicode.cpp +++ b/tests/strings/unicode.cpp @@ -391,11 +391,12 @@ void UnicodeTestCase::ConversionUTF32() void UnicodeTestCase::IsConvOk() { CPPUNIT_ASSERT( wxCSConv(wxFONTENCODING_SYSTEM).IsOk() ); - CPPUNIT_ASSERT( wxCSConv(_T("UTF-8")).IsOk() ); - CPPUNIT_ASSERT( !wxCSConv(_T("NoSuchConversion")).IsOk() ); + CPPUNIT_ASSERT( wxCSConv("US-ASCII").IsOk() ); + CPPUNIT_ASSERT( wxCSConv("UTF-8").IsOk() ); + CPPUNIT_ASSERT( !wxCSConv("NoSuchConversion").IsOk() ); #ifdef __WINDOWS__ - CPPUNIT_ASSERT( wxCSConv(_T("WINDOWS-437")).IsOk() ); + CPPUNIT_ASSERT( wxCSConv("WINDOWS-437").IsOk() ); #endif }