scroll: destroy scrolled out sixels before scroll is applied

The logic that breaks out of sixel loops does not work for rows that
has already wrapped around.

Thus, we need to destroy sixels that are about to be scrolled
out *before* we actually scroll.

Since this is the *only* time we destroy sixels (instead of
overwriting it), rename the sixel functions. And, since they now do a
very specific thing, they can be greatly simplified (and thus faster).
This commit is contained in:
Daniel Eklöf 2020-06-29 22:01:02 +02:00
parent a136987678
commit 62be729c45
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
4 changed files with 64 additions and 142 deletions

View file

@ -72,13 +72,12 @@
* Do not auto-resize a sixel image for which the cllent has specified
a size. This fixes an issue where an image would incorrectly
overflow into the cell row beneath.
* Erase scrolled out sixel image that crossed the scrollback wrap
around boundary.
* Text printed, or other sixel images drawn, on top of a sixel image
no longer erases the entire image, only the part(s) covered by the
new text or image.
* Sixel images being erased when printing text next to them.
* Sixel handling when resizing window.
* Sixel handling when scrollback wraps around.
### Security