Skip to content

FerroUI main: subscription guards - #5

Merged
wieslawsoltes merged 2 commits into
mainfrom
ferroui-d5-guards
Nov 2, 2026
Merged

wieslawsoltes merged 2 commits into
mainfrom
ferroui-d5-guards

Conversation

@wieslawsoltes

Copy link
Copy Markdown
Contributor

Moves the FerroUI submodule to main (b75373981), where the subscription APIs return a Subscription guard that removes its handler when dropped (FerroUI #423, D4/D5).

  • The main window's closing handler (it commits the edit in progress before the window closes) calls detach(): without it the handler would have been removed as soon as it was added.
  • The prototype runtime's scheduled timers and the shell's pending-save timer, which the app stops itself, are held as Subscription.

cargo check --workspace --all-targets (Rust 1.99, the app's toolchain) reports no unused guard.

The submodule moves to FerroUI main at b75373981, where the event,
timer, property-observation and other subscription APIs return a
Subscription guard that removes its handler when dropped (#423 D4/D5).
The closing handler of the main window (it commits the edit in progress
before the window closes) detaches its Subscription guard, which would
otherwise remove the handler when it is dropped. The timers of the
prototype runtime and the pending save, which the app stops itself, are
held as Subscription guards.
@wieslawsoltes
wieslawsoltes merged commit 5b09346 into main Nov 2, 2026
12 checks passed
@wieslawsoltes
wieslawsoltes deleted the ferroui-d5-guards branch November 2, 2026 15:03
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