unifying CFTypes

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50575 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Csomor
2007-12-08 17:38:38 +00:00
parent a97fbf04c6
commit 80539f0490
3 changed files with 8 additions and 9 deletions

View File

@@ -900,13 +900,13 @@ wxString wxMacFSRefToPath( const FSRef *fsRef , CFStringRef additionalPathCompon
CFMutableStringRef cfMutableString = CFStringCreateMutableCopy(NULL, 0, cfString); CFMutableStringRef cfMutableString = CFStringCreateMutableCopy(NULL, 0, cfString);
CFRelease( cfString ); CFRelease( cfString );
CFStringNormalize(cfMutableString,kCFStringNormalizationFormC); CFStringNormalize(cfMutableString,kCFStringNormalizationFormC);
return wxMacCFStringHolder(cfMutableString).AsString(); return wxCFStringRef(cfMutableString).AsString();
} }
OSStatus wxMacPathToFSRef( const wxString&path , FSRef *fsRef ) OSStatus wxMacPathToFSRef( const wxString&path , FSRef *fsRef )
{ {
OSStatus err = noErr ; OSStatus err = noErr ;
CFMutableStringRef cfMutableString = CFStringCreateMutableCopy(NULL, 0, wxMacCFStringHolder(path)); CFMutableStringRef cfMutableString = CFStringCreateMutableCopy(NULL, 0, wxCFStringRef(path));
CFStringNormalize(cfMutableString,kCFStringNormalizationFormD); CFStringNormalize(cfMutableString,kCFStringNormalizationFormD);
CFURLRef url = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, cfMutableString , kDefaultPathStyle, false); CFURLRef url = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, cfMutableString , kDefaultPathStyle, false);
CFRelease( cfMutableString ); CFRelease( cfMutableString );
@@ -931,7 +931,7 @@ wxString wxMacHFSUniStrToString( ConstHFSUniStr255Param uniname )
CFMutableStringRef cfMutableString = CFStringCreateMutableCopy(NULL, 0, cfname); CFMutableStringRef cfMutableString = CFStringCreateMutableCopy(NULL, 0, cfname);
CFRelease( cfname ); CFRelease( cfname );
CFStringNormalize(cfMutableString,kCFStringNormalizationFormC); CFStringNormalize(cfMutableString,kCFStringNormalizationFormC);
return wxMacCFStringHolder(cfMutableString).AsString() ; return wxCFStringRef(cfMutableString).AsString() ;
} }
#ifndef __LP64__ #ifndef __LP64__

View File

@@ -1934,15 +1934,14 @@ void wxLocale::AddCatalogLookupPathPrefix(const wxString& prefix)
// first get the string identifying the language from the environment // first get the string identifying the language from the environment
wxString langFull; wxString langFull;
#ifdef __WXMAC__ #ifdef __WXMAC__
// as at the C-runtime level many OS X versions only have a "C" locale, therefore we use the CFLocale (ICU based)
wxCFRef<CFLocaleRef> userLocaleRef(CFLocaleCopyCurrent()); wxCFRef<CFLocaleRef> userLocaleRef(CFLocaleCopyCurrent());
// because the locale identifier (kCFLocaleIdentifier) is formatted a little bit differently, eg // because the locale identifier (kCFLocaleIdentifier) is formatted a little bit differently, eg
// az_Cyrl_AZ@calendar=buddhist;currency=JPY we just recreate the base info as expected by wx here // az_Cyrl_AZ@calendar=buddhist;currency=JPY we just recreate the base info as expected by wx here
wxMacCFStringHolder str(wxCFRetain((CFStringRef)CFLocaleGetValue(userLocaleRef, kCFLocaleLanguageCode))); wxCFStringRef str(wxCFRetain((CFStringRef)CFLocaleGetValue(userLocaleRef, kCFLocaleLanguageCode)));
langFull = str.AsString()+"_"; langFull = str.AsString()+"_";
str.Assign(wxCFRetain((CFStringRef)CFLocaleGetValue(userLocaleRef, kCFLocaleCountryCode))); str.reset(wxCFRetain((CFStringRef)CFLocaleGetValue(userLocaleRef, kCFLocaleCountryCode)));
langFull += str.AsString(); langFull += str.AsString();
#else #else
if (!wxGetEnv(wxT("LC_ALL"), &langFull) && if (!wxGetEnv(wxT("LC_ALL"), &langFull) &&
@@ -2649,7 +2648,7 @@ wxString wxLocale::GetInfo(wxLocaleInfo index, wxLocaleCategory WXUNUSED(cat))
wxFAIL_MSG( "Unknown locale info" ); wxFAIL_MSG( "Unknown locale info" );
} }
wxMacCFStringHolder wxCFStringRef
str(CFStringCreateCopy(NULL, static_cast<CFStringRef>(cfstr))); str(CFStringCreateCopy(NULL, static_cast<CFStringRef>(cfstr)));
return str.AsString(); return str.AsString();
} }

View File

@@ -174,9 +174,9 @@ char* wxSetlocale(int category, const char *locale)
{ {
// we have to emulate the behaviour under OS X // we have to emulate the behaviour under OS X
wxCFRef<CFLocaleRef> userLocaleRef(CFLocaleCopyCurrent()); wxCFRef<CFLocaleRef> userLocaleRef(CFLocaleCopyCurrent());
wxMacCFStringHolder str(wxCFRetain((CFStringRef)CFLocaleGetValue(userLocaleRef, kCFLocaleLanguageCode))); wxCFStringRef str(wxCFRetain((CFStringRef)CFLocaleGetValue(userLocaleRef, kCFLocaleLanguageCode)));
wxString langFull = str.AsString()+"_"; wxString langFull = str.AsString()+"_";
str.Assign(wxCFRetain((CFStringRef)CFLocaleGetValue(userLocaleRef, kCFLocaleCountryCode))); str.reset(wxCFRetain((CFStringRef)CFLocaleGetValue(userLocaleRef, kCFLocaleCountryCode)));
langFull += str.AsString(); langFull += str.AsString();
rv = setlocale(category, langFull.c_str()); rv = setlocale(category, langFull.c_str());
} }