diff options
author | Nicholas Marriott <nicm@openbsd.org> | 2012-01-15 19:39:42 +0000 |
---|---|---|
committer | Nicholas Marriott <nicm@openbsd.org> | 2012-01-15 19:39:42 +0000 |
commit | 299a8fd4a3ced13ed678f888aa1b61484a2b613d (patch) | |
tree | 91e59cf66cb1c62cdaeff91134f67bb7824caf96 | |
parent | eeaf92ad066927cd06569ceb5e100004c8bf99df (diff) |
Calculate last position correctly for UTF-8 wide characters, reported by
Matthias Lederhofer.
-rw-r--r-- | tty.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -969,7 +969,10 @@ tty_cmd_cell(struct tty *tty, const struct tty_ctx *ctx) * move as far left as possible and redraw the last * cell to move into the last position. */ - cx = screen_size_x(s) - width; + if (ctx->last_cell.flags & GRID_FLAG_UTF8) + cx = screen_size_x(s) - ctx->last_utf8.width; + else + cx = screen_size_x(s) - 1; tty_cursor_pane(tty, ctx, cx, ctx->ocy); tty_cell(tty, &ctx->last_cell, &ctx->last_utf8); } |