create a true empty string and not a null CFStringRef
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33047 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
63c4f6da73
commit
2539aa882d
@ -635,27 +635,32 @@ void wxMacCFStringHolder::Assign( const wxString &st , wxFontEncoding encoding )
|
||||
{
|
||||
Release() ;
|
||||
if (st.IsEmpty())
|
||||
return ;
|
||||
|
||||
wxString str = st ;
|
||||
wxMacConvertNewlines13To10( &str ) ;
|
||||
{
|
||||
m_cfs = CFSTR("") ;
|
||||
CFRetain( m_cfs ) ;
|
||||
}
|
||||
else
|
||||
{
|
||||
wxString str = st ;
|
||||
wxMacConvertNewlines13To10( &str ) ;
|
||||
#if wxUSE_UNICODE
|
||||
#if SIZEOF_WCHAR_T == 2
|
||||
m_cfs = CFStringCreateWithCharacters( kCFAllocatorDefault,
|
||||
(UniChar*)str.wc_str() , str.Len() );
|
||||
m_cfs = CFStringCreateWithCharacters( kCFAllocatorDefault,
|
||||
(UniChar*)str.wc_str() , str.Len() );
|
||||
#else
|
||||
wxMBConvUTF16BE converter ;
|
||||
size_t unicharlen = converter.WC2MB( NULL , str.wc_str() , 0 ) ;
|
||||
UniChar *unibuf = new UniChar[ unicharlen / sizeof(UniChar) + 1 ] ;
|
||||
converter.WC2MB( (char*)unibuf , str.wc_str() , unicharlen ) ;
|
||||
m_cfs = CFStringCreateWithCharacters( kCFAllocatorDefault ,
|
||||
unibuf , unicharlen / sizeof(UniChar) ) ;
|
||||
delete[] unibuf ;
|
||||
wxMBConvUTF16BE converter ;
|
||||
size_t unicharlen = converter.WC2MB( NULL , str.wc_str() , 0 ) ;
|
||||
UniChar *unibuf = new UniChar[ unicharlen / sizeof(UniChar) + 1 ] ;
|
||||
converter.WC2MB( (char*)unibuf , str.wc_str() , unicharlen ) ;
|
||||
m_cfs = CFStringCreateWithCharacters( kCFAllocatorDefault ,
|
||||
unibuf , unicharlen / sizeof(UniChar) ) ;
|
||||
delete[] unibuf ;
|
||||
#endif
|
||||
#else // not wxUSE_UNICODE
|
||||
m_cfs = CFStringCreateWithCString( kCFAllocatorSystemDefault , str.c_str() ,
|
||||
wxMacGetSystemEncFromFontEnc( encoding ) ) ;
|
||||
m_cfs = CFStringCreateWithCString( kCFAllocatorSystemDefault , str.c_str() ,
|
||||
wxMacGetSystemEncFromFontEnc( encoding ) ) ;
|
||||
#endif
|
||||
}
|
||||
m_release = true ;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user