summaryrefslogtreecommitdiffstats
path: root/screen-write.c
diff options
context:
space:
mode:
authornicm <nicm>2023-09-14 13:01:35 +0000
committernicm <nicm>2023-09-14 13:01:35 +0000
commit8191c587378b0bb6f9f6818b1d721cea56fe08ff (patch)
treeb9eeba4f89dfb65220eca54813d7adacb45b821c /screen-write.c
parentc02bc4dbe9692fb8f698509a35c3abccf895f263 (diff)
Reset combine flag only if text is actually processed.
Diffstat (limited to 'screen-write.c')
-rw-r--r--screen-write.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/screen-write.c b/screen-write.c
index f81fef04..1514204d 100644
--- a/screen-write.c
+++ b/screen-write.c
@@ -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;