From 083831805f30ba9c5e5956744b91cd26ae7fcc0a Mon Sep 17 00:00:00 2001 From: "Martin T. H. Sandsmark" Date: Sun, 15 Jan 2017 16:38:55 +0100 Subject: [PATCH] Fix word boundaries with combining characters Without this it doesn't correctly detect word boundaries e. g. in arabic. REVIEW: 129840 --- src/TerminalDisplay.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/TerminalDisplay.cpp b/src/TerminalDisplay.cpp index 26b5012d..960cb9d2 100644 --- a/src/TerminalDisplay.cpp +++ b/src/TerminalDisplay.cpp @@ -2793,10 +2793,11 @@ QChar TerminalDisplay::charClass(const Character& ch) const const QString s = QString::fromUtf16(chars, extendedCharLength); if (_wordCharacters.contains(s, Qt::CaseInsensitive)) return 'a'; - bool allLetterOrNumber = true; - for (int i = 0; allLetterOrNumber && i < s.size(); ++i) - allLetterOrNumber = s.at(i).isLetterOrNumber(); - return allLetterOrNumber ? 'a' : s.at(0); + bool letterOrNumber = false; + for (int i = 0; !letterOrNumber && i < s.size(); ++i) { + letterOrNumber = s.at(i).isLetterOrNumber(); + } + return letterOrNumber ? 'a' : s.at(0); } return 0; } else {