mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-05 04:06:08 -05:00
sixel: unhook: tighten up the condition needed for us to free image data pre-maturely
This commit is contained in:
parent
f9a730f33b
commit
5f8a8951c7
1 changed files with 5 additions and 5 deletions
10
sixel.c
10
sixel.c
|
|
@ -727,11 +727,6 @@ sixel_unhook(struct terminal *term)
|
|||
term->sixel.image.height = term->sixel.max_non_empty_row_no + 1;
|
||||
}
|
||||
|
||||
if (term->sixel.image.height == 0 || term->sixel.image.width == 0) {
|
||||
/* We won’t be emitting any sixels - free backing image */
|
||||
free(term->sixel.image.data);
|
||||
}
|
||||
|
||||
int pixel_row_idx = 0;
|
||||
int pixel_rows_left = term->sixel.image.height;
|
||||
const int stride = term->sixel.image.width * sizeof(uint32_t);
|
||||
|
|
@ -766,6 +761,11 @@ sixel_unhook(struct terminal *term)
|
|||
int start_row = do_scroll ? term->grid->cursor.point.row : 0;
|
||||
const int start_col = do_scroll ? term->grid->cursor.point.col : 0;
|
||||
|
||||
if (pixel_rows_left == 0 || rows_avail == 0) {
|
||||
/* We won’t be emitting any sixels - free backing image */
|
||||
free(term->sixel.image.data);
|
||||
}
|
||||
|
||||
/* We do not allow sixels to cross the scrollback wrap-around, as
|
||||
* this makes intersection calculations much more complicated */
|
||||
while (pixel_rows_left > 0 && rows_avail > 0) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue