diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2015-12-26 23:45:32 +0100 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2016-01-12 06:16:11 +0000 |
commit | 066caebd8ad3a7fc9279aea2e8bbd0ef7912687d (patch) | |
tree | f0b928d4889daa45d0b00337ab14ca7edc68d42d /src/corelib | |
parent | 6926e0d4843715fb373002ac8c39cfde648e76c1 (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')
-rw-r--r-- | src/corelib/kernel/qtranslator.cpp | 3 |
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 |