summaryrefslogtreecommitdiffstats
path: root/screen-write.c
diff options
context:
space:
mode:
authornicm <nicm>2021-08-12 11:35:53 +0000
committernicm <nicm>2021-08-12 11:35:53 +0000
commit5d451551b6457d972897fa60b3dba38e13d6589f (patch)
treed1a0aabfd4196c3458935314663838bd313bef58 /screen-write.c
parent26773ea9efd3b555833618719446309cf7a024de (diff)
Restore saved cursor position after a ZWJ rather than recalculating it.
Diffstat (limited to 'screen-write.c')
-rw-r--r--screen-write.c4
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;
}