summaryrefslogtreecommitdiff
path: root/src/gui/browserbox.cpp
diff options
context:
space:
mode:
authorBjörn Steinbrink <B.Steinbrink@gmx.de>2007-09-25 16:28:25 +0000
committerBjörn Steinbrink <B.Steinbrink@gmx.de>2007-09-25 16:28:25 +0000
commit82182aeb9eacb3a6e10e34b34b46ef63222ecd7d (patch)
treeebefea57dc236043dd68eb4322d68c22855308d2 /src/gui/browserbox.cpp
parent7d6e21ef0617a6c6ece314641fb431e5a84c44b0 (diff)
downloadmana-82182aeb9eacb3a6e10e34b34b46ef63222ecd7d.tar.gz
mana-82182aeb9eacb3a6e10e34b34b46ef63222ecd7d.tar.bz2
mana-82182aeb9eacb3a6e10e34b34b46ef63222ecd7d.tar.xz
mana-82182aeb9eacb3a6e10e34b34b46ef63222ecd7d.zip
Fix wrapping of UTF-8 multi-byte characters.
Diffstat (limited to 'src/gui/browserbox.cpp')
-rw-r--r--src/gui/browserbox.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gui/browserbox.cpp b/src/gui/browserbox.cpp
index 18853221..262d9c31 100644
--- a/src/gui/browserbox.cpp
+++ b/src/gui/browserbox.cpp
@@ -386,7 +386,10 @@ BrowserBox::draw(gcn::Graphics *graphics)
continue;
}
- end--;
+ // Skip to the start of the current character
+ while ((row[end] & 192) == 128)
+ end--;
+ end--; // And then to the last byte of the previous one
part = row.substr(start, end - start + 1);
} while ((x + font->getWidth(part.c_str()) + 10) > getWidth());