mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-09-14 15:16:40 +00:00
Two distinct bugs behind "Relayed by" scrolling looking broken: 1. The DM/channel history row underneath a context menu (Path/Relayed by, Options, etc.) keeps rendering every frame with sel=true regardless of the popup on top of it, and both it and the popup's own selected item share DisplayDriver's single marquee slot. Whichever drew last each frame kept is_new-resetting the other's animation -- looked like the scroll "remembered" a stale, wrong position. Now suppressed via `sel && !_ctx_menu.active` at all four call sites that had it (DM/ channel history bodies, contact/channel pick names). 2. PopupMenu::render() returns 50 (it wants a fast, smooth redraw), but all 7 `_ctx_menu.render(display)` call sites discarded that return value, so the enclosing phase's own return statement (500-2000ms) governed the actual redraw cadence instead -- the popup's marquee only ever advanced whenever the much slower underlying screen happened to redraw. Now folded into the existing mq_delay accumulator, same as every other marquee source in this file. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>