summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2015-12-26 23:45:32 +0100
committerMarc Mutz <marc.mutz@kdab.com>2016-01-12 06:16:11 +0000
commit066caebd8ad3a7fc9279aea2e8bbd0ef7912687d (patch)
treef0b928d4889daa45d0b00337ab14ca7edc68d42d /src/corelib/kernel
parent6926e0d4843715fb373002ac8c39cfde648e76c1 (diff)
QTranslator: optimize string handling in find_transformation
- Don't repeatedly truncate a (shared) QString, truncate a QStringRef instead, preventing a detach. Change-Id: I1a9cf7fc5bc9ea06279f7e2548f2bd144b8780a3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Diffstat (limited to 'src/corelib/kernel')
-rw-r--r--src/corelib/kernel/qtranslator.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/corelib/kernel/qtranslator.cpp b/src/corelib/kernel/qtranslator.cpp
index 09d8d76271..ce1d4917cb 100644
--- a/src/corelib/kernel/qtranslator.cpp
+++ b/src/corelib/kernel/qtranslator.cpp
@@ -668,7 +668,8 @@ static QString find_translation(const QLocale & locale,
}
// start guessing
- for (QString localeName : qAsConst(fuzzyLocales)) {
+ for (const QString &fuzzyLocale : qAsConst(fuzzyLocales)) {
+ QStringRef localeName(&fuzzyLocale);
for (;;) {
int rightmost = localeName.lastIndexOf(QLatin1Char('_'));
// no truncations? fail