mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-16 22:05:21 -05:00
erase-cells: don't memset when keeping background color
This commit is contained in:
parent
71c6f11e86
commit
776432ded3
1 changed files with 6 additions and 4 deletions
10
terminal.c
10
terminal.c
|
|
@ -163,13 +163,15 @@ erase_cell_range(struct terminal *term, struct row *row, int start, int end)
|
|||
assert(start < term->cols);
|
||||
assert(end < term->cols);
|
||||
|
||||
memset(&row->cells[start], 0, (end - start + 1) * sizeof(row->cells[0]));
|
||||
if (unlikely(term->vt.attrs.have_bg)) {
|
||||
for (int col = start; col <= end; col++) {
|
||||
row->cells[col].attrs.have_bg = 1;
|
||||
row->cells[col].attrs.bg = term->vt.attrs.bg;
|
||||
struct cell *c = &row->cells[col];
|
||||
c->wc = 0;
|
||||
c->attrs = (struct attributes){.have_bg = 1, .bg = term->vt.attrs.bg};
|
||||
}
|
||||
}
|
||||
} else
|
||||
memset(&row->cells[start], 0, (end - start + 1) * sizeof(row->cells[0]));
|
||||
|
||||
row->dirty = true;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue