diff --git a/sixel.c b/sixel.c index b7bcb65a..0b971a90 100644 --- a/sixel.c +++ b/sixel.c @@ -706,8 +706,8 @@ sixel_unhook(struct terminal *term) .pos = (struct coord){start_col, cur_row}, }; - sixel_overwrite_by_rectangle( - term, cursor->row, image.pos.col, image.rows, image.cols); + assert(image.rows < term->grid->num_rows); + assert(image.pos.row + image.rows - 1 < term->grid->num_rows); LOG_DBG("generating %dx%d pixman image at %d-%d", image.width, image.height, @@ -723,6 +723,9 @@ sixel_unhook(struct terminal *term) term_linefeed(term); term_carriage_return(term); + _sixel_overwrite_by_rectangle( + term, image.pos.row, image.pos.col, image.rows, image.cols); + sixel_insert(term, image); pixel_row_idx += height;