mirror of
https://github.com/storytold/lightcraft.git
synced 2026-11-01 14:07:34 -06:00
A right-click on a photo (or any widget) while its own context menu was open flashed the menu at the new spot and closed it again on the same frame. egui's `Popup::show` judges "was open last frame" by the popup's id, so the click that reopened the menu at the pointer also counted as a click while open and closed it under `CloseOnClick`. A right-click on a different widget was fine. `widgets::context_menu` wraps `Popup::context_menu` and ignores clicks on the frame of the right-click that opens or moves the menu; every context menu (30 sites) goes through it, and `TextField` applies the same rule to its close-on-click-outside menu (`widgets::context_menu_close`). Tests: `right_clicking_elsewhere_moves_the_context_menu` (headless grid; failed at the second frame before the fix) and `right_clicking_again_moves_the_menu` (text field). docs/ui-parity.md: Context menus row and revision history. Fixes #1877 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>