From 868a5fe610c32ac32b68559e29473b612eaeb092 Mon Sep 17 00:00:00 2001 From: nicm Date: Thu, 12 Aug 2021 11:35:53 +0000 Subject: [PATCH] Restore saved cursor position after a ZWJ rather than recalculating it. --- usr.bin/tmux/screen-write.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/usr.bin/tmux/screen-write.c b/usr.bin/tmux/screen-write.c index 01b94776701..1e8703df4a6 100644 --- a/usr.bin/tmux/screen-write.c +++ b/usr.bin/tmux/screen-write.c @@ -1,4 +1,4 @@ -/* $OpenBSD: screen-write.c,v 1.197 2021/08/11 20:49:55 nicm Exp $ */ +/* $OpenBSD: screen-write.c,v 1.198 2021/08/12 11:35:53 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -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; } -- 2.20.1