term: term_erase(): call sixel_delete_*()

This ensures sixel images are removed, regardless of _how_ the screen
was erased.
This commit is contained in:
Daniel Eklöf 2020-02-24 18:40:41 +01:00
parent afa9ac0cfc
commit 4c6f2ea340
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 4 additions and 2 deletions

View file

@ -156,8 +156,6 @@ sixel_unhook(struct terminal *term)
term->sixel.image.data,
term->sixel.image.width * sizeof(uint32_t));
tll_push_back(term->sixel_images, image);
term->sixel.image.data = NULL;
term->sixel.image.width = 0;
term->sixel.image.height = 0;
@ -168,6 +166,8 @@ sixel_unhook(struct terminal *term)
term_linefeed(term);
term_formfeed(term);
render_refresh(term);
tll_push_back(term->sixel_images, image);
}
static unsigned

View file

@ -1366,6 +1366,7 @@ term_erase(struct terminal *term, const struct coord *start, const struct coord
if (start->row == end->row) {
struct row *row = grid_row(term->grid, start->row);
erase_cell_range(term, row, start->col, end->col);
sixel_delete_at_row(term, start->row);
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_cell_range(term, grid_row(term->grid, end->row), 0, end->col);
sixel_delete_in_range(term, start->row, end->row);
}
int