From 80f9bc1a615da214aadb989cd045c59cf6f1878d Mon Sep 17 00:00:00 2001 From: nyamatongwe Date: Thu, 2 Jun 2005 01:32:55 +0000 Subject: Fix bug in multi-byte encodings where making selection upper case or lower case would not change the first character on each line. --- src/Document.cxx | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/Document.cxx b/src/Document.cxx index 51299b37c..c28879bea 100644 --- a/src/Document.cxx +++ b/src/Document.cxx @@ -1227,11 +1227,9 @@ int Document::LinesTotal() { } void Document::ChangeCase(Range r, bool makeUpperCase) { - for (int pos = r.start; pos < r.end; pos++) { + for (int pos = r.start; pos < r.end;) { int len = LenChar(pos); - if (dbcsCodePage && (len > 1)) { - pos += len; - } else { + if (len == 1) { char ch = CharAt(pos); if (makeUpperCase) { if (IsLowerCase(ch)) { @@ -1243,6 +1241,7 @@ void Document::ChangeCase(Range r, bool makeUpperCase) { } } } + pos += len; } } -- cgit v1.2.3