mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-03-11 05:33:55 -04:00
term: term_erase(): call sixel_delete_*()
This ensures sixel images are removed, regardless of _how_ the screen was erased.
This commit is contained in:
parent
afa9ac0cfc
commit
4c6f2ea340
2 changed files with 4 additions and 2 deletions
4
sixel.c
4
sixel.c
|
|
@ -156,8 +156,6 @@ sixel_unhook(struct terminal *term)
|
||||||
term->sixel.image.data,
|
term->sixel.image.data,
|
||||||
term->sixel.image.width * sizeof(uint32_t));
|
term->sixel.image.width * sizeof(uint32_t));
|
||||||
|
|
||||||
tll_push_back(term->sixel_images, image);
|
|
||||||
|
|
||||||
term->sixel.image.data = NULL;
|
term->sixel.image.data = NULL;
|
||||||
term->sixel.image.width = 0;
|
term->sixel.image.width = 0;
|
||||||
term->sixel.image.height = 0;
|
term->sixel.image.height = 0;
|
||||||
|
|
@ -168,6 +166,8 @@ sixel_unhook(struct terminal *term)
|
||||||
term_linefeed(term);
|
term_linefeed(term);
|
||||||
term_formfeed(term);
|
term_formfeed(term);
|
||||||
render_refresh(term);
|
render_refresh(term);
|
||||||
|
|
||||||
|
tll_push_back(term->sixel_images, image);
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned
|
static unsigned
|
||||||
|
|
|
||||||
|
|
@ -1366,6 +1366,7 @@ term_erase(struct terminal *term, const struct coord *start, const struct coord
|
||||||
if (start->row == end->row) {
|
if (start->row == end->row) {
|
||||||
struct row *row = grid_row(term->grid, start->row);
|
struct row *row = grid_row(term->grid, start->row);
|
||||||
erase_cell_range(term, row, start->col, end->col);
|
erase_cell_range(term, row, start->col, end->col);
|
||||||
|
sixel_delete_at_row(term, start->row);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1378,6 +1379,7 @@ term_erase(struct terminal *term, const struct coord *start, const struct coord
|
||||||
erase_line(term, grid_row(term->grid, r));
|
erase_line(term, grid_row(term->grid, r));
|
||||||
|
|
||||||
erase_cell_range(term, grid_row(term->grid, end->row), 0, end->col);
|
erase_cell_range(term, grid_row(term->grid, end->row), 0, end->col);
|
||||||
|
sixel_delete_in_range(term, start->row, end->row);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue