From 2539aa882df58a4eccc63fa1b1dc9867ff932e12 Mon Sep 17 00:00:00 2001 From: Stefan Csomor Date: Fri, 25 Mar 2005 16:34:55 +0000 Subject: [PATCH] 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 --- src/mac/corefoundation/cfstring.cpp | 35 ++++++++++++++++------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/src/mac/corefoundation/cfstring.cpp b/src/mac/corefoundation/cfstring.cpp index 73430139db..ace47930f9 100644 --- a/src/mac/corefoundation/cfstring.cpp +++ b/src/mac/corefoundation/cfstring.cpp @@ -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 ; } -- 2.45.2