From f4019b174e563cb974761551143a4a6f0a8b70e4 Mon Sep 17 00:00:00 2001 From: nicm Date: Thu, 14 Sep 2023 13:01:35 +0000 Subject: [PATCH] Reset combine flag only if text is actually processed. --- usr.bin/tmux/screen-write.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/usr.bin/tmux/screen-write.c b/usr.bin/tmux/screen-write.c index 72c8f3bde4d..96a4916be6f 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.220 2023/09/01 16:01:54 nicm Exp $ */ +/* $OpenBSD: screen-write.c,v 1.221 2023/09/14 13:01:35 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -1742,6 +1742,7 @@ screen_write_collect_end(struct screen_write_ctx *ctx) if (ci->used == 0) return; + ctx->flags &= ~SCREEN_WRITE_COMBINE; before = screen_write_collect_trim(ctx, s->cy, s->cx, ci->used, &wrapped); @@ -1792,8 +1793,6 @@ screen_write_collect_add(struct screen_write_ctx *ctx, u_int sx = screen_size_x(s); int collect; - ctx->flags &= ~SCREEN_WRITE_COMBINE; - /* * Don't need to check that the attributes and whatnot are still the * same - input_parse will end the collection when anything that isn't @@ -1873,7 +1872,7 @@ screen_write_cell(struct screen_write_ctx *ctx, const struct grid_cell *gc) screen_write_collect_flush(ctx, 0, __func__); gc = screen_write_combine(ctx, combine, &xx, &cx); if (gc != NULL) { - cy = s->cy; + cx = s->cx; cy = s->cy; screen_write_set_cursor(ctx, xx, s->cy); screen_write_initctx(ctx, &ttyctx, 0); ttyctx.cell = gc; -- 2.20.1