mirror of
https://github.com/brl/mutter.git
synced 2024-11-24 09:00:42 -05:00
core: Move code ignoring events on windows with modals to Wayland
This is Wayland specific code, handle it directly in MetaWaylandPointer. This also fixes issues with the crossing event itself managing to reach the window occluded by modals. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3420>
This commit is contained in:
parent
f46205417f
commit
93a9e7f3f4
@ -475,7 +475,6 @@ meta_display_handle_event (MetaDisplay *display,
|
|||||||
* trigger ::captured-event handlers along the way.
|
* trigger ::captured-event handlers along the way.
|
||||||
*/
|
*/
|
||||||
bypass_clutter = !IS_GESTURE_EVENT (event_type);
|
bypass_clutter = !IS_GESTURE_EVENT (event_type);
|
||||||
bypass_wayland = meta_window_has_modals (window);
|
|
||||||
|
|
||||||
meta_window_handle_ungrabbed_event (window, event);
|
meta_window_handle_ungrabbed_event (window, event);
|
||||||
|
|
||||||
|
@ -573,6 +573,9 @@ repick_for_event (MetaWaylandPointer *pointer,
|
|||||||
META_SURFACE_ACTOR_WAYLAND (actor);
|
META_SURFACE_ACTOR_WAYLAND (actor);
|
||||||
|
|
||||||
surface = meta_surface_actor_wayland_get_surface (actor_wayland);
|
surface = meta_surface_actor_wayland_get_surface (actor_wayland);
|
||||||
|
|
||||||
|
if (meta_window_has_modals (meta_wayland_surface_get_window (surface)))
|
||||||
|
surface = NULL;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user