Fix drawing of ACS characters (they need to go character-at-a-time),

accidentally broken in last commit.
pull/1247/head
nicm 2018-01-16 17:03:18 +00:00
parent 5849b73b81
commit 75842bfe66
1 changed files with 10 additions and 4 deletions

14
tty.c
View File

@ -977,17 +977,23 @@ tty_draw_line(struct tty *tty, const struct window_pane *wp,
}
if (gcp->flags & GRID_FLAG_SELECTED)
screen_select_cell(s, &last, &gc);
screen_select_cell(s, &last, gcp);
else
memcpy(&last, &gc, sizeof last);
if (ux + gcp->data.width > screen_size_x(s))
memcpy(&last, gcp, sizeof last);
if (ux + gcp->data.width > screen_size_x(s)) {
tty_attributes(tty, &last, wp);
for (j = 0; j < gcp->data.width; j++) {
if (ux + j > screen_size_x(s))
break;
tty_putc(tty, ' ');
ux++;
}
else {
} else if (gcp->attr & GRID_ATTR_CHARSET) {
tty_attributes(tty, &last, wp);
for (j = 0; j < gcp->data.size; j++)
tty_putc(tty, gcp->data.data[j]);
ux += gc.data.width;
} else {
memcpy(buf + len, gcp->data.data, gcp->data.size);
len += gcp->data.size;
width += gcp->data.width;