• src/conio/bitmap_con.c

    From Deucе@1:103/705 to Git commit to main/sbbs/master on Sun Apr 26 20:05:06 2026
    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>
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sun May 3 06:45:55 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/114aa41696ff4148c46e6ad8
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Fix incorrect colour set on scrolled lines

    When a screen was being scrolled, the fill colour for newly filled
    lines was being passed through color_value() which is for draw
    rectangles, not screen pixels.

    The result of this is that they're effectively always drawn as a
    near-black colour regardless of the current foreground colour.

    If the RGB value of the current background colour is beyond the
    end of the palette, SyncTERM will flood stderr with "Invalid colour
    value:" messages and the cells will be rendered with a black
    background.

    This is broken in v1.8 :(
    Fixes ticket 248
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)