Skip to content

fix: keep game-menu button in sync with capture state#96

Open
terbin wants to merge 1 commit into
Avanatiker:1.21.4from
terbin:fix/game-menu-button-sync
Open

fix: keep game-menu button in sync with capture state#96
terbin wants to merge 1 commit into
Avanatiker:1.21.4from
terbin:fix/game-menu-button-sync

Conversation

@terbin
Copy link
Copy Markdown

@terbin terbin commented May 19, 2026

The escape-menu button was built once on screen init and captured both its label and click action at build time. When capturing flipped while the menu stayed open the button went stale in two visible ways: after the drain finished the "Save Capture" label remained and clicks routed to stop() on a not-capturing state; during the drain itself the button still said "Save Capture" and was clickable even though the click was a no-op via the stopping sentinel.

Route the click handler by current state at click time and drive both the label and the active flag from (capturing, stopping) via a per-tick refresh: idle shows "WorldTools"; capturing-not-stopping shows "Save Capture" clickable; stopping shows "Saving capture of ..." disabled. The refresh runs before the !capturing guard so the true->false flip at drain end fires.

Verification

Menu-button label and click behaviour stay in sync across drain start and end (verified by opening the escape menu before, during, and after a capture).

The escape-menu button was built once on screen init and captured both its label and click action at build time. When capturing flipped while the menu stayed open the button went stale in two visible ways: after the drain finished the "Save Capture" label remained and clicks routed to stop() on a not-capturing state; during the drain itself the button still said "Save Capture" and was clickable even though the click was a no-op via the stopping sentinel.

Route the click handler by current state at click time and drive both the label and the active flag from (capturing, stopping) via a per-tick refresh: idle shows "WorldTools"; capturing-not-stopping shows "Save Capture" clickable; stopping shows "Saving capture of <name>..." disabled. The refresh runs before the !capturing guard so the true->false flip at drain end fires.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant