fb65cbabf40d2bb5e7f02e198931878e2311414b
REQ-UI-DIALOG-DISMISS asks that a dialog be put away by clicking away from it, the gesture that already puts the selection panel away. The layer is the widget those clicks land on, so this is where it belongs -- and the three dialogs that take the gesture already say so through isDismissible(), which Q has been using since the base class arrived. A left press and a left release must both land beyond the open modal's rectangle. Where the click landed is what decides, never that the layer received it: a click on an inert part of a dialog -- a label, the gap between two controls -- propagates up from the widget that ignored it and arrives here with a position inside the modal, which is not a dismissal. A drag begun inside the dialog never reaches the layer at all, the widget it began on keeping the release, so no gesture ends by discarding the dialog it was made in. Every click on the layer is consumed either way, dismissing or not: the window behind a modal takes no input, and closing the modal does not turn that click into one for whatever lies under it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ne3mejABZoLWKLh8fgpM3x
Description
No description provided
Languages
C++
96%
CMake
2.2%
Python
1.1%
C
0.7%