BBS:      TELESC.NET.BR
Assunto:  src/conio/bitmap_con.c bitmap_con.h ciolib.c ciolib.h cterm.c
De:       Deuc¨
Data:     Thu, 19 Mar 2026 14:38:35 -0700
-----------------------------------------------------------
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) 
n
---
  mSynchronetn  hgVertrauen n hHome of Synchronet n gh[vert/cvs/bbs].synchro.net

-----------------------------------------------------------
[Voltar]