https://gitlab.synchro.net/main/sbbs/-/commit/dbbf05a922e359202b3905e4
Modified Files:
src/conio/bitmap_con.c bitmap_con.h ciolib.c ciolib.h cterm.c
Log Message:
Add movetext_clear() to fix status bar smear during scroll (ticket 228)
New ciolib API: movetext_clear() moves text and atomically fills the non-overlapping source area with a caller-provided vmem_cell. Handles
the general case of up to two clear rectangles (horizontal + vertical
strips) for diagonal moves.
In the bitmap fast-scroll path, the exposed pixel rows are cleared
under screenlock so the display thread never sees stale data from the
circular buffer wrap.
cterm_scrollup() and scrolldown() now use movetext_clear() instead of
separate movetext() + cterm_clrblk() calls.
Also removes memset_u32() which used a slow memcpy-per-element loop.
Co-Authored-By: Claude Opus 4.6 (1M context) <
noreply@anthropic.com>
---
■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net