Reset combine flag only if text is actually processed.

pull/3709/head
nicm 2023-09-14 13:01:35 +00:00
parent c02bc4dbe9
commit 8191c58737
1 changed files with 2 additions and 3 deletions

View File

@ -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;