https://gitlab.synchro.net/main/sbbs/-/commit/b2fe4d3bbf7441aa3584bd1b
Modified Files:
src/conio/bitmap_con.c
Log Message:
SyncTERM: redraw Prestel double-height bottom on top-row content change
When a Prestel double-height "top" row is overwritten with new content
without the DOUBLE_HEIGHT bit toggling (e.g., a frame swap from
"Welcome" to "Sign In"), the bottom row's own vmem cells stay
unchanged. The per-cell diff in update_from_vmem then skipped the
bottom row, leaving it showing the bottom-half pixels of the previous
top row's glyph.
Fix at the write site in bitmap_vmem_puttext_locked: when a cell with
the DH bit set has its content actually changed, mark the
bitmap_drawn entry one row below dirty (CIOLIB_BG_DIRTY) so the next
update redraws it. May over-invalidate one row when the cell turns
out to be a Prestel bottom rather than a top, but the dirty flag does
not propagate further.
Fixes ticket 243.
Co-Authored-By: Claude Opus 4.7 (1M context) <
noreply@anthropic.com>
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net