[critical] toggle_help_screen spawns second ModalScrim while another modal is open #9
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
File
solitaire_engine/src/help_plugin.rslines 65–83Description
toggle_help_screenonly checks whether aHelpScreenmarker already exists. It does not checkother_modal_scrims.is_empty()before spawning. Pressing F1 or dispatchingHelpRequestEventwhile any other modal (Settings, Pause, Profile, Home, Win Summary) is open spawns a secondModalScrimconcurrently, violating CLAUDE.md §14.2 and §11.Every other toggle handler in the codebase (
toggle_home_screen,toggle_profile_screen, etc.) has an explicit other-modal guard — Help is the only one missing it.Fix
Add a
Query<(), With<ModalScrim>>parameter and return early when!scrims.is_empty(), matching the pattern intoggle_home_screen.