summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormsizanoen1 <msizanoen@qtmlabs.xyz>2023-04-11 12:23:27 +0700
committermsizanoen1 <qtmlabs@protonmail.com>2023-04-15 10:11:07 +0000
commitce0d9ccb37c8bb9831c290cd636539a218a7fa18 (patch)
tree7aa836ae80c276f804d44d8cbc096e47fd33f991
parent2a600ac98e5d47f68a3e39dc12801a5e1c7bb7fa (diff)
downloadmutter-ce0d9ccb37c8bb9831c290cd636539a218a7fa18.tar.gz
dnd: Clear Wayland drag source when cancelled from stage grab context
This ensures that applications are notified when a drag gets cancelled because the user dropped or press ESC while in overview. This fixes an issue with Chromium on Wayland refusing to acknowledge wl_pointer::enter events after accidentally dropping a Chromium-originated object in GNOME Shell overview. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2953>
-rw-r--r--src/compositor/meta-dnd.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/compositor/meta-dnd.c b/src/compositor/meta-dnd.c
index afe23807b..33bd6ad90 100644
--- a/src/compositor/meta-dnd.c
+++ b/src/compositor/meta-dnd.c
@@ -280,6 +280,8 @@ meta_dnd_wayland_end_notify (MetaDnd *dnd)
MetaDndPrivate *priv = meta_dnd_get_instance_private (dnd);
MetaWaylandDataDevice *data_device = data_device_from_dnd (dnd);
+ meta_wayland_data_device_set_dnd_source (data_device, NULL);
+ meta_wayland_data_device_unset_dnd_selection (data_device);
meta_wayland_data_device_end_drag (data_device);
priv->dnd_during_modal = FALSE;