diff options
| author | oldmud0 <3421260-oldmud0@users.noreply.gitlab.com> | 2019-07-07 14:45:16 +0000 |
|---|---|---|
| committer | oldmud0 <3421260-oldmud0@users.noreply.gitlab.com> | 2019-07-07 14:45:16 +0000 |
| commit | 1552f3f19cdc933a45075fd9451bbde42d907000 (patch) | |
| tree | 2602e57615aada8ff95d859bb44788bf85295e40 | |
| parent | 2ef6aecb0d2f7c24babe7503f2f1c6d3f1971fc9 (diff) | |
| parent | c8a4f69d144d4be59a1fd07151579d923bcc8a6e (diff) | |
Merge branch 'master' into 'master'
Fix escaped HTML characters screwing up the grapheme cluster sizes.
See merge request AttorneyOnline/AO2-Client!61
| -rw-r--r-- | src/courtroom.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/courtroom.cpp b/src/courtroom.cpp index da05fe90..2d5cf154 100644 --- a/src/courtroom.cpp +++ b/src/courtroom.cpp @@ -2053,6 +2053,7 @@ void Courtroom::chat_tick() { QTextBoundaryFinder tbf(QTextBoundaryFinder::Grapheme, f_message); QString f_character; + int f_char_length; tbf.toNextBoundary(); @@ -2061,8 +2062,10 @@ void Courtroom::chat_tick() else f_character = f_message.left(tbf.position()); + f_char_length = f_character.length(); f_character = f_character.toHtmlEscaped(); + if (f_character == " ") ui_vp_message->insertPlainText(" "); @@ -2155,7 +2158,7 @@ void Courtroom::chat_tick() else { next_character_is_not_special = true; - tick_pos--; + tick_pos -= f_char_length; } } @@ -2176,7 +2179,7 @@ void Courtroom::chat_tick() else { next_character_is_not_special = true; - tick_pos--; + tick_pos -= f_char_length; } } @@ -2287,7 +2290,7 @@ void Courtroom::chat_tick() ++blip_pos; } - tick_pos += f_character.length(); + tick_pos += f_char_length; // Restart the timer, but according to the newly set speeds, if there were any. // Keep the speed at bay. |
