aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoroldmud0 <3421260-oldmud0@users.noreply.gitlab.com>2019-07-07 14:45:16 +0000
committeroldmud0 <3421260-oldmud0@users.noreply.gitlab.com>2019-07-07 14:45:16 +0000
commit1552f3f19cdc933a45075fd9451bbde42d907000 (patch)
tree2602e57615aada8ff95d859bb44788bf85295e40
parent2ef6aecb0d2f7c24babe7503f2f1c6d3f1971fc9 (diff)
parentc8a4f69d144d4be59a1fd07151579d923bcc8a6e (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.cpp9
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.