From 2ff9d37b0d96f497566adea61829d9d13dbde650 Mon Sep 17 00:00:00 2001 From: akirashirosawa <38557723+akirashirosawa@users.noreply.github.com> Date: Sun, 3 May 2020 16:17:26 +0300 Subject: [PATCH 1/2] CFStringCompare instead std::locale for MacOS --- src/translations.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/translations.cpp b/src/translations.cpp index 488b9abab45d2..4db90d8db3ab4 100644 --- a/src/translations.cpp +++ b/src/translations.cpp @@ -698,5 +698,10 @@ std::string operator+( const translation &lhs, const translation &rhs ) bool localized_comparator::operator()( const std::string &l, const std::string &r ) const { + #if defined(MACOSX) + CFStringRef lr = CFStringCreateWithCStringNoCopy(kCFAllocatorDefault, l.c_str(), kCFStringEncodingUTF8, kCFAllocatorNull); + CFStringRef rr = CFStringCreateWithCStringNoCopy(kCFAllocatorDefault, r.c_str(), kCFStringEncodingUTF8, kCFAllocatorNull); + return CFStringCompare(lr, rr, kCFCompareLocalized) < 0; + #endif return std::locale()( l, r ); } From 3088f53387eecaad6fe1bdfb5149019acf71ecbd Mon Sep 17 00:00:00 2001 From: akirashirosawa <38557723+akirashirosawa@users.noreply.github.com> Date: Sun, 3 May 2020 16:18:17 +0300 Subject: [PATCH 2/2] astyle --- src/translations.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/translations.cpp b/src/translations.cpp index 4db90d8db3ab4..f7eff7ad15d7c 100644 --- a/src/translations.cpp +++ b/src/translations.cpp @@ -698,10 +698,12 @@ std::string operator+( const translation &lhs, const translation &rhs ) bool localized_comparator::operator()( const std::string &l, const std::string &r ) const { - #if defined(MACOSX) - CFStringRef lr = CFStringCreateWithCStringNoCopy(kCFAllocatorDefault, l.c_str(), kCFStringEncodingUTF8, kCFAllocatorNull); - CFStringRef rr = CFStringCreateWithCStringNoCopy(kCFAllocatorDefault, r.c_str(), kCFStringEncodingUTF8, kCFAllocatorNull); - return CFStringCompare(lr, rr, kCFCompareLocalized) < 0; - #endif +#if defined(MACOSX) + CFStringRef lr = CFStringCreateWithCStringNoCopy( kCFAllocatorDefault, l.c_str(), + kCFStringEncodingUTF8, kCFAllocatorNull ); + CFStringRef rr = CFStringCreateWithCStringNoCopy( kCFAllocatorDefault, r.c_str(), + kCFStringEncodingUTF8, kCFAllocatorNull ); + return CFStringCompare( lr, rr, kCFCompareLocalized ) < 0; +#endif return std::locale()( l, r ); }