Commit 30b0318b authored by Carlos Garnacho's avatar Carlos Garnacho Committed by Marge Bot
Browse files

wayland: Make implicit grabs during popups be owner_events=TRUE

Getting crossing events is necessary between client surfaces while
there is a popup grab in effect (e.g. allow press-drag-release in
menus), we should only stick with the focus surface while the pointer
is outside any client surface.

This partially undoes commit 79050004 (or, at least, mutter no
longer fixes the bug it claimed to fix). This will be addressed in

Part-of: <!1885>
parent 97c6a68b
Pipeline #288899 passed with stages
in 18 minutes and 57 seconds
......@@ -113,15 +113,12 @@ popup_grab_focus (MetaWaylandPointerGrab *grab,
if (!meta_wayland_seat_has_pointer (seat))
if (pointer->button_count > 0)
/* Popup grabs are in owner-events mode (ie, events for the same client
are reported as normal) */
if (surface &&
wl_resource_get_client (surface->resource) == popup_grab->grab_client)
meta_wayland_pointer_set_focus (grab->pointer, surface);
else if (pointer->button_count == 0)
meta_wayland_pointer_set_focus (grab->pointer, NULL);
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment