gtk/gdk/wayland
Carlos Garnacho e7fdb43499 gdk/wayland: Break only implicit grabs on wl_pointer.leave w/ pressed buttons
The releasing of grabs while a button is pressed (e.g. after starting dnd, or
dragging the window, or going to overview with a pressed button, etc...) was
generalized here in https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/1879.

However we shouldn't break all grabs here. In the case of grabbing popups,
compositors will still emit crossing events between client surfaces (e.g.
popping up and selecting a menu item via press-drag-release), breaking all
grabs here means inconsistent client state, that was
https://gitlab.gnome.org/GNOME/gtk/-/issues/2746.

That was fixed in mutter, by essentially making implicit grabs
owner_events=FALSE, however that breaks the mentioned use pattern entirely.
Mutter is changing this behavior back, so GTK should handle these crossing
events.

The grab that we are interested in breaking here is the implicit pointer
one. Popups will be dismissed via other means if the compositor says their
active grab needs breaking. This still leaves dnd/move/resize drags in
one place, while not allowing #2746 to happen with popups.
2021-06-05 18:29:39 +02:00
..
cursor gdk/wayland/cursor/os-compatibility: fix build when memfd_create is not available 2021-05-03 21:17:53 -04:00
protocol wayland: Signal gtk-shell surface destruction to the server 2021-01-28 22:31:03 +01:00
gdkapplaunchcontext-wayland.c gdk/wayland: Update to gtk_shell1 version 3 2020-11-18 00:41:46 +01:00
gdkcairocontext-wayland.c wayland: Fix memleaks when rendering with Cairo 2021-03-09 19:52:59 +01:00
gdkcairocontext-wayland.h wayland: Rewrite Cairo rendering 2018-04-24 23:16:58 +02:00
gdkclipboard-wayland.c gdk: Change some async clipboard api 2019-04-02 15:10:53 +00:00
gdkclipboard-wayland.h wayland: Implement reading the clipboard 2017-12-03 05:46:49 +01:00
gdkcursor-wayland.c Replace "gchar" with "char" 2020-07-25 00:47:36 +02:00
gdkdevice-wayland-private.h wayland: Make gdk_wayland_device_pad_set_feedback private 2020-10-15 12:00:00 -04:00
gdkdevice-wayland.c gdk/wayland: Break only implicit grabs on wl_pointer.leave w/ pressed buttons 2021-06-05 18:29:39 +02:00
gdkdisplay-wayland.c wayland: Rewrite shm format debug spew 2021-05-03 21:19:07 -04:00
gdkdisplay-wayland.h Hide gdk_wayland_display_prefers_ssd() 2020-10-12 16:44:05 +01:00
gdkdrag-wayland.c wayland: Fix dnd hotspot movement 2020-08-27 04:04:48 +05:00
gdkdrop-wayland.c gdk: Make gdk_drop_status() take preferred action 2020-03-02 04:43:56 +01:00
gdkeventsource.c Replace "gint" with "int" 2020-07-25 00:47:36 +02:00
gdkglcontext-wayland.c gdkglcontext-wayland: Fallback to GLES 2.0 after legacy failed 2021-03-21 20:37:04 +00:00
gdkglcontext-wayland.h GdkSurface: Rename lots of stuff from window->surface 2018-03-20 15:14:10 +01:00
gdkkeys-wayland.c Replace "gint" with "int" 2020-07-25 00:47:36 +02:00
gdkmonitor-wayland.c docs: Brush up the Wayland backend docs 2021-03-11 16:37:31 +00:00
gdkmonitor-wayland.h Relay the xdg_output.name to GdkMonitor 2019-06-24 15:38:36 +01:00
gdkprimary-wayland.c gdk/wayland: Replace gtk-primary-selection with primary-selection-unstable-v1 2020-09-27 16:23:42 +02:00
gdkprimary-wayland.h gdk/wayland: Replace gtk-primary-selection with primary-selection-unstable-v1 2020-09-27 16:23:42 +02:00
gdkprivate-wayland.h wayland: Only set mapped state when mapped 2020-12-07 09:46:39 +01:00
gdkseat-wayland.h Add a public header for GdkWaylandSeat 2020-10-14 11:55:34 +01:00
gdksurface-wayland.c docs: Assorted fixes 2021-06-01 18:01:14 -04:00
gdksurface-wayland.h wayland: Explicitly announce ssd for kwin 2021-01-21 22:45:47 -05:00
gdkvulkancontext-wayland.c wayland/surface: Make sure to commit ack_configure 2020-09-17 18:20:08 +02:00
gdkvulkancontext-wayland.h The big versioning cleanup 2018-02-06 01:16:32 -05:00
gdkwayland.h Add a public header for GdkWaylandSeat 2020-10-14 11:55:34 +01:00
gdkwaylanddevice.h wayland: Make gdk_wayland_device_pad_set_feedback private 2020-10-15 12:00:00 -04:00
gdkwaylanddisplay.h Fix a warning caused by difference between prototype and definition 2020-11-17 14:59:14 +08:00
gdkwaylandglcontext.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkwaylandmonitor.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkwaylandseat.h Add a public header for GdkWaylandSeat 2020-10-14 11:55:34 +01:00
gdkwaylandsurface.h Revert "Merge branch 'gtk_egl_wayland' into 'master'" 2020-12-30 03:32:18 +00:00
meson.build build: Use a consistent style for Meson files 2020-12-15 12:46:59 +00:00
wm-button-layout-translation.c build: Don't turn off critical warnings 2017-10-06 16:03:08 +02:00
wm-button-layout-translation.h gdk: Relicense translate_wm_button_layout_to_gtk() 2017-04-27 21:05:12 +02:00