diff options
author | nicm <nicm> | 2021-08-12 11:35:53 +0000 |
---|---|---|
committer | nicm <nicm> | 2021-08-12 11:35:53 +0000 |
commit | 5d451551b6457d972897fa60b3dba38e13d6589f (patch) | |
tree | d1a0aabfd4196c3458935314663838bd313bef58 /screen-write.c | |
parent | 26773ea9efd3b555833618719446309cf7a024de (diff) | |
download | rtmux-5d451551b6457d972897fa60b3dba38e13d6589f.tar.gz rtmux-5d451551b6457d972897fa60b3dba38e13d6589f.tar.bz2 rtmux-5d451551b6457d972897fa60b3dba38e13d6589f.zip |
Restore saved cursor position after a ZWJ rather than recalculating it.
Diffstat (limited to 'screen-write.c')
-rw-r--r-- | screen-write.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/screen-write.c b/screen-write.c index a11b4771..01f8a097 100644 --- a/screen-write.c +++ b/screen-write.c @@ -1775,13 +1775,13 @@ screen_write_cell(struct screen_write_ctx *ctx, const struct grid_cell *gc) if (width == 0 || (ctx->flags & SCREEN_WRITE_ZWJ)) { ctx->flags &= ~SCREEN_WRITE_ZWJ; screen_write_collect_flush(ctx, 0, __func__); - if ((gc = screen_write_combine(ctx, ud, &xx)) != 0) { + if ((gc = screen_write_combine(ctx, ud, &xx)) != NULL) { cx = s->cx; cy = s->cy; screen_write_set_cursor(ctx, xx, s->cy); screen_write_initctx(ctx, &ttyctx, 0); ttyctx.cell = gc; tty_write(tty_cmd_cell, &ttyctx); - s->cx = xx + gc->data.width; s->cy = cy; + s->cx = cx; s->cy = cy; } return; } |