09101e36f8
The MetaWaylandPointer used to put this together through MetaCursorTracker cursor visibility, and ClutterSeat-level inhibition API, applying the pointer focus changes due to visibility logically to Wayland clients. In order to make this work over all Clutter widgetry instead of just Wayland clients, make the ClutterSeat-level inhibition API control this feature at the ClutterStage picking level, and leave/enter the seat pointer as appropriate. By default, the seat pointer has (un)focus inhibited. The MetaCursorTracker has been made another player in unfocus inhibition, simply asking for the pointer to get its focus while the cursor is visible. This in practice means that picking code may return a NULL actor, some asserts and preconditions had to be changed to handle this, plus some test code slightly. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3420> |
||
---|---|---|
.. | ||
clutter | ||
meson.build |