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;
|
struct tty_ctx ttyctx;
|
||||||
u_int sx = screen_size_x(s), sy = screen_size_y(s);
|
u_int sx = screen_size_x(s), sy = screen_size_y(s);
|
||||||
u_int width = ud->width, xx, not_wrap, i, n, vis;
|
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_ranges *r;
|
||||||
struct visible_range *ri;
|
struct visible_range *ri;
|
||||||
|
|
||||||
@@ -2451,10 +2452,12 @@ screen_write_cell(struct screen_write_ctx *ctx, const struct grid_cell *gc)
|
|||||||
skip = 0;
|
skip = 0;
|
||||||
|
|
||||||
/* Get visible ranges for the character before moving the cursor. */
|
/* Get visible ranges for the character before moving the cursor. */
|
||||||
if (wp != NULL)
|
if (wp != NULL) {
|
||||||
|
xoff = wp->xoff;
|
||||||
yoff = wp->yoff;
|
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
|
* Move the cursor. If not wrapping, stick at the last character and
|
||||||
|
|||||||
Reference in New Issue
Block a user