core: Use is_grabbed() method to find existing grabs
The whole reason for META_GRAB_OP_WAYLAND_POPUP to exist is to avoid windows from being activatable/movable/resizable when a grabbing xdg_popup is active. Use the meta_display_is_grabbed() method which can tell this from existing MetaWaylandCompositor grabs, so that this remains true after dropping META_GRAB_OP_WAYLAND_POPUP. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2683>
This commit is contained in:
parent
aed3979064
commit
1198fe700a
@ -471,7 +471,12 @@ meta_display_handle_event (MetaDisplay *display,
|
|||||||
bypass_clutter = !IS_GESTURE_EVENT (event);
|
bypass_clutter = !IS_GESTURE_EVENT (event);
|
||||||
bypass_wayland = meta_window_has_modals (window);
|
bypass_wayland = meta_window_has_modals (window);
|
||||||
|
|
||||||
if (display->grab_op == META_GRAB_OP_NONE)
|
if (
|
||||||
|
#ifdef HAVE_WAYLAND
|
||||||
|
(!wayland_compositor ||
|
||||||
|
!meta_wayland_compositor_is_grabbed (wayland_compositor)) &&
|
||||||
|
#endif
|
||||||
|
!meta_display_is_grabbed (display))
|
||||||
meta_window_handle_ungrabbed_event (window, event);
|
meta_window_handle_ungrabbed_event (window, event);
|
||||||
|
|
||||||
/* This might start a grab op. If it does, then filter out the
|
/* This might start a grab op. If it does, then filter out the
|
||||||
|
Loading…
Reference in New Issue
Block a user