From e6cebb27f1d7383ce444a995f67324ad6e172456 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Wed, 1 Sep 2021 02:06:37 +0200 Subject: [PATCH] Use wxCFStringRef for conversion between wxString and NSString No real changes, just avoid converting to NSString by reusing wxCFStringRef. --- src/osx/core/uilocale.mm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/osx/core/uilocale.mm b/src/osx/core/uilocale.mm index 5cdc1fb576..1c96257a52 100644 --- a/src/osx/core/uilocale.mm +++ b/src/osx/core/uilocale.mm @@ -158,15 +158,14 @@ int wxUILocaleImplCF::CompareStrings(const wxString& lhs, const wxString& rhs, int flags) const { - NSString *ns_lhs = [NSString stringWithCString:lhs.ToStdString(wxConvUTF8).c_str() - encoding:NSUTF8StringEncoding]; - NSString *ns_rhs = [NSString stringWithCString:rhs.ToStdString(wxConvUTF8).c_str() - encoding:NSUTF8StringEncoding]; + const wxCFStringRef cfstr(lhs); + auto ns_lhs = cfstr.AsNSString(); + NSInteger options = 0; if ( flags & wxCompare_CaseInsensitive ) options |= NSCaseInsensitiveSearch; - NSComparisonResult ret = [ns_lhs compare:ns_rhs + NSComparisonResult ret = [ns_lhs compare:wxCFStringRef(rhs).AsNSString() options:options range:(NSRange){0, [ns_lhs length]} locale:m_nsloc];