Merge branch 'blender-v3.0-release'
This commit is contained in:
commit
fb688c8d5c
|
@ -117,6 +117,13 @@ void bl_locale_set(const char *locale)
|
|||
|
||||
#undef LOCALE_INFO
|
||||
}
|
||||
// Extra catch on `std::runtime_error` is needed for macOS/Clang as it seems that exceptions
|
||||
// like `boost::locale::conv::conversion_error` (which inherit from `std::runtime_error`) are
|
||||
// not caught by their ancestor `std::exception`. See
|
||||
// https://developer.blender.org/T88877#1177108 .
|
||||
catch (std::runtime_error const &e) {
|
||||
std::cout << "bl_locale_set(" << locale << "): " << e.what() << " \n";
|
||||
}
|
||||
catch (std::exception const &e) {
|
||||
std::cout << "bl_locale_set(" << locale << "): " << e.what() << " \n";
|
||||
}
|
||||
|
|
|
@ -14,7 +14,17 @@ const char *osx_user_locale()
|
|||
CFLocaleRef myCFLocale = CFLocaleCopyCurrent();
|
||||
NSLocale *myNSLocale = (NSLocale *)myCFLocale;
|
||||
[myNSLocale autorelease];
|
||||
NSString *nsIdentifier = [myNSLocale localeIdentifier];
|
||||
|
||||
// This produces gettext-invalid locale in recent macOS versions (11.4),
|
||||
// like `ko-Kore_KR` instead of `ko_KR`. See T88877.
|
||||
// NSString *nsIdentifier = [myNSLocale localeIdentifier];
|
||||
|
||||
const NSString *nsIdentifier = [myNSLocale languageCode];
|
||||
const NSString *const nsIdentifier_country = [myNSLocale countryCode];
|
||||
if ([nsIdentifier length] != 0 && [nsIdentifier_country length] != 0) {
|
||||
nsIdentifier = [NSString stringWithFormat:@"%@_%@", nsIdentifier, nsIdentifier_country];
|
||||
}
|
||||
|
||||
user_locale = ::strdup([nsIdentifier UTF8String]);
|
||||
[pool drain];
|
||||
|
||||
|
|
Loading…
Reference in New Issue