From 10edbc45bd43f1e6d1a5826f3321b7d0474fa3ff Mon Sep 17 00:00:00 2001 From: Michael Drake Date: Sat, 9 Feb 2013 18:41:23 +0000 Subject: 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. --- desktop/textarea.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'desktop') 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; -- cgit v1.2.3