diff options
Diffstat (limited to 'src/corelib/tools/qstring.cpp')
-rw-r--r-- | src/corelib/tools/qstring.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp index 36bd61098a..936a5d68fa 100644 --- a/src/corelib/tools/qstring.cpp +++ b/src/corelib/tools/qstring.cpp @@ -6637,6 +6637,8 @@ void qt_string_normalize(QString *data, QString::NormalizationForm mode, QChar:: for (int i = from; i < len; ++i) { if (p[i].unicode() >= 0x80) { simple = false; + if (i > from) + from = i - 1; break; } } @@ -6679,6 +6681,10 @@ void qt_string_normalize(QString *data, QString::NormalizationForm mode, QChar:: } } } + + if (normalizationQuickCheckHelper(data, mode, from, &from)) + return; + decomposeHelper(data, mode < QString::NormalizationForm_KD, version, from); canonicalOrderHelper(data, version, from); |