diff --git a/src/wayland/meta-wayland-popup.c b/src/wayland/meta-wayland-popup.c index f628ef04c..a4788615b 100644 --- a/src/wayland/meta-wayland-popup.c +++ b/src/wayland/meta-wayland-popup.c @@ -102,6 +102,7 @@ popup_grab_focus (MetaWaylandPointerGrab *grab, { MetaWaylandPopupGrab *popup_grab = (MetaWaylandPopupGrab*)grab; MetaWaylandSeat *seat = meta_wayland_pointer_get_seat (grab->pointer); + MetaWaylandPointer *pointer = grab->pointer; /* * We rely on having a pointer grab even when the seat doesn't have @@ -112,6 +113,9 @@ popup_grab_focus (MetaWaylandPointerGrab *grab, if (!meta_wayland_seat_has_pointer (seat)) return; + if (pointer->button_count > 0) + return; + /* Popup grabs are in owner-events mode (ie, events for the same client are reported as normal) */ if (surface &&