mirror of
https://github.com/tmux/tmux.git
synced 2026-05-30 14:16:18 +00:00
Use correct X position for redrawing wide characters.
This commit is contained in:
@@ -2350,7 +2350,8 @@ screen_write_cell(struct screen_write_ctx *ctx, const struct grid_cell *gc)
|
||||
struct tty_ctx ttyctx;
|
||||
u_int sx = screen_size_x(s), sy = screen_size_y(s);
|
||||
u_int width = ud->width, xx, not_wrap, i, n, vis;
|
||||
int selected, skip = 1, redraw = 0, yoff = 0;
|
||||
int selected, skip = 1, redraw = 0;
|
||||
int yoff = 0, xoff = 0;
|
||||
struct visible_ranges *r;
|
||||
struct visible_range *ri;
|
||||
|
||||
@@ -2451,10 +2452,12 @@ screen_write_cell(struct screen_write_ctx *ctx, const struct grid_cell *gc)
|
||||
skip = 0;
|
||||
|
||||
/* Get visible ranges for the character before moving the cursor. */
|
||||
if (wp != NULL)
|
||||
if (wp != NULL) {
|
||||
xoff = wp->xoff;
|
||||
yoff = wp->yoff;
|
||||
r = screen_redraw_get_visible_ranges(wp, s->cx, s->cy + yoff, width,
|
||||
NULL);
|
||||
}
|
||||
r = screen_redraw_get_visible_ranges(wp, xoff + s->cx, s->cy + yoff,
|
||||
width, NULL);
|
||||
|
||||
/*
|
||||
* Move the cursor. If not wrapping, stick at the last character and
|
||||
|
||||
Reference in New Issue
Block a user