mirror of
https://github.com/storytold/figcraft.git
synced 2026-10-30 13:26:54 -06:00
winit's default macOS app menu ends the process through AppKit's `terminate:` at once, so ⌘Q and Quit from the menu bar never asked about unsaved changes (the recovery copies were all that survived). - Install craft-libs' app menu (craft-menu, same rev as the other craft-libs pins; macOS only). Its Quit sends the main window a close request, the same path as the window's close button, so windows::on_close_request cancels the close and the unsaved-changes question asks first. Failure to install keeps winit's menu and logs it. - windows_tests::a_quit_with_unsaved_changes_waits_for_the_answer pins the contract the menu relies on: a close request with unsaved changes sends CancelClose and asks; Don't Save then closes. - Like the close button it closes the main window only: with several windows open, each quit closes one (documented). - docs/hardware-parity.md macOS row, status line and revision history. - Cargo.lock: craft-menu, craft-quit, craft-keymap, muda and their deps; cargo's own minimal resolution also moves a few windows-sys/getrandom edges to versions already in the lock.