mirror of
https://github.com/macports/macports-ports.git
synced 2026-07-12 18:20:25 -07:00
43 lines
1.9 KiB
Diff
43 lines
1.9 KiB
Diff
Based on https://github.com/blender/blender/commit/8e237d83f2138fb94933f971a070a0552f1f506a
|
|||
|
|
diff --git intern/locale/boost_locale_wrapper.cpp intern/locale/boost_locale_wrapper.cpp
|
||
|
|
index ede9377b38f..73433fe7c5e 100644
|
||
|
|
--- intern/locale/boost_locale_wrapper.cpp
|
||
|
|
+++ intern/locale/boost_locale_wrapper.cpp
|
||
|
|
@@ -117,13 +117,6 @@ 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";
|
||
|
|
}
|
||
|
|
diff --git intern/locale/osx_user_locale.mm intern/locale/osx_user_locale.mm
|
||
|
|
index ce694b5fc1e..e2f65d39df9 100644
|
||
|
|
--- intern/locale/osx_user_locale.mm
|
||
|
|
+++ intern/locale/osx_user_locale.mm
|
||
|
|
@@ -14,17 +14,7 @@ const char *osx_user_locale()
|
||
|
|
CFLocaleRef myCFLocale = CFLocaleCopyCurrent();
|
||
|
|
NSLocale *myNSLocale = (NSLocale *)myCFLocale;
|
||
|
|
[myNSLocale autorelease];
|
||
|
|
-
|
||
|
|
- // 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];
|
||
|
|
- }
|
||
|
|
-
|
||
|
|
+ NSString *nsIdentifier = [myNSLocale localeIdentifier];
|
||
|
|
user_locale = ::strdup([nsIdentifier UTF8String]);
|
||
|
|
[pool drain];
|
||
|
|
|