From 5d576fccbaef3e413bcb5b7a98708d2f1904f5d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Tue, 20 Jun 2023 14:52:17 +0200 Subject: [PATCH] sixel: regression: linefeed count for chunked up sixel image All image chunks but the last *should* scroll the screen content. --- sixel.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sixel.c b/sixel.c index a40a54a4..29585d71 100644 --- a/sixel.c +++ b/sixel.c @@ -1049,7 +1049,12 @@ sixel_unhook(struct terminal *term) if (do_scroll) { /* Yes, truncate last row. This matches XTerm’s, and VT382’s behavior */ - const int linefeed_count = (image.height - 6 * term->sixel.pan + 1) / term->cell_height; + const int linefeed_count = rows_avail == 0 + ? (image.height - 6 * term->sixel.pan + 1) / term->cell_height + : image.height / term->cell_height; + + xassert(rows_avail == 0 || image.height % term->cell_height == 0); + for (size_t i = 0; i < linefeed_count; i++) term_linefeed(term);