From 0d064328b2500928287dff502328a29d84444baa Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Mon, 14 Mar 2022 16:47:29 +0100 Subject: [PATCH] De-pessimize Windows version of QSystemLocalePrivate::measurementSystem() Don't create a QString from a wchar_t array to check that the array contains "1\0". Just do character-by-character comparison. Change-Id: I7e5c2348c24af6a9b046c91423a52f756ceb9eb9 Reviewed-by: Thiago Macieira --- src/corelib/text/qlocale_win.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/corelib/text/qlocale_win.cpp b/src/corelib/text/qlocale_win.cpp index e5f5781208..695b363e5f 100644 --- a/src/corelib/text/qlocale_win.cpp +++ b/src/corelib/text/qlocale_win.cpp @@ -542,10 +542,8 @@ QVariant QSystemLocalePrivate::measurementSystem() wchar_t output[2]; if (getLocaleInfo(LOCALE_IMEASURE, output, 2)) { - QString iMeasure = QString::fromWCharArray(output); - if (iMeasure == QLatin1String("1")) { + if (output[0] == L'1' && !output[1]) return QLocale::ImperialSystem; - } } return QLocale::MetricSystem;