mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-07-26 14:58:12 +00:00
Adding a screen touches 4 sites; 3 (member decl, gotoX decl, gotoX def) are compile-checked, but a missed `new XScreen()` in begin() left the pointer uninitialised and crashed at first navigation. Give every screen member an in-class nullptr initialiser and bail early in setCurrScreen(nullptr) so the mistake is an inert no-op instead of a null deref. Document the 4-site registration contract on the member block. A full registry table was considered and rejected: the named gotoXScreen() methods are a depended-upon API (~30 call sites, menu dispatch + back-nav), so a table would add an enum + indirection without removing them. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>