From 21c0d0a215fe75db112ccbccf93d4e7163507ede Mon Sep 17 00:00:00 2001 From: nick black Date: Thu, 20 May 2021 04:15:09 -0400 Subject: [PATCH] kitty: rebuild auxvector when decoding a new frame #1605 --- src/lib/kitty.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/lib/kitty.c b/src/lib/kitty.c index 753538be8..9404f3f2f 100644 --- a/src/lib/kitty.c +++ b/src/lib/kitty.c @@ -467,6 +467,11 @@ write_kitty_data(FILE* fp, int linesize, int leny, int lenx, int tyx = xcell + ycell * cols; //fprintf(stderr, "Tyx: %d y: %d (%d) * %d x: %d (%d) state %d\n", tyx, y, y / cdimy, cols, x, x / cdimx, tam[tyx].state); if(tam[tyx].state == SPRIXCELL_ANNIHILATED || tam[tyx].state == SPRIXCELL_ANNIHILATED_TRANS){ + // this pixel is part of a cell which is currently wiped (alpha-nulled + // out, to present a glyph "atop" it). we will continue to mark it + // transparent, but we need to update the auxiliary vector. + const int vyx = (y % cdimy) * cdimx + (x % cdimx); + tam[tyx].auxvector[vyx] = ncpixel_a(source[e]); wipe[e] = 1; }else{ wipe[e] = 0;