summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2013-02-09 18:41:23 +0000
committerMichael Drake <tlsa@netsurf-browser.org>2013-02-09 18:41:23 +0000
commit10edbc45bd43f1e6d1a5826f3321b7d0474fa3ff (patch)
tree6bd1130071a77c85fddb5380df7c2510ae6b3201 /desktop
parent32e9602126837981751c0f781592ca3f5fc1f56c (diff)
downloadnetsurf-10edbc45bd43f1e6d1a5826f3321b7d0474fa3ff.tar.gz
netsurf-10edbc45bd43f1e6d1a5826f3321b7d0474fa3ff.tar.bz2
If a character is replaced by a character of different width, the caret needs to move. Checking change in character index isn't enough, so move caret if redraw was required too.
Diffstat (limited to 'desktop')
-rw-r--r--desktop/textarea.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/desktop/textarea.c b/desktop/textarea.c
index 4ab62cbba..62ee05a12 100644
--- a/desktop/textarea.c
+++ b/desktop/textarea.c
@@ -2053,8 +2053,9 @@ bool textarea_keypress(struct textarea *ta, uint32_t key)
}
- if (caret != caret_init)
+ if (caret != caret_init || redraw)
textarea_set_caret(ta, caret);
+
//TODO:redraw only the important part
if (redraw) {
msg.ta = ta;