X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f5f172485bf36ac1025395efc8073c1592c30c08..ae901b234c4a0aa7c1777b3bd181dd7f8517ad21:/src/osx/core/cfstring.cpp diff --git a/src/osx/core/cfstring.cpp b/src/osx/core/cfstring.cpp index a65c5cb361..d067feaa1e 100644 --- a/src/osx/core/cfstring.cpp +++ b/src/osx/core/cfstring.cpp @@ -611,15 +611,20 @@ wxCFStringRef::wxCFStringRef( const wxString &st , wxFontEncoding WXUNUSED_IN_UN #if wxUSE_UNICODE #if wxUSE_UNICODE_WCHAR // native = wchar_t 4 bytes for us - reset( CFStringCreateWithBytes( kCFAllocatorDefault, - (const UInt8*)str.wc_str() , str.length()*4, kCFStringEncodingUTF32Native, false /* no BOM */ ) ); + const wchar_t * const data = str.wc_str(); + const size_t size = str.length()*sizeof(wchar_t); + CFStringBuiltInEncodings cfencoding = kCFStringEncodingUTF32Native; #elif wxUSE_UNICODE_UTF8 // native = utf8 - reset( CFStringCreateWithBytes( kCFAllocatorDefault, - (const UInt8*) str.utf8_str() , str.utf8_length() , kCFStringEncodingUTF8, false /* no BOM */ ) ); + const char * const data = str.utf8_str(); + const size_t size = str.utf8_length(); + CFStringBuiltInEncodings cfencoding = kCFStringEncodingUTF8; #else - #error "unsupported unicode representation" + #error "unsupported Unicode representation" #endif + + reset( CFStringCreateWithBytes( kCFAllocatorDefault, + (const UInt8*)data, size, cfencoding, false /* no BOM */ ) ); #else // not wxUSE_UNICODE reset( CFStringCreateWithCString( kCFAllocatorSystemDefault , str.c_str() , wxMacGetSystemEncFromFontEnc( encoding ) ) );