diff options
author | msizanoen1 <msizanoen@qtmlabs.xyz> | 2023-04-11 12:23:27 +0700 |
---|---|---|
committer | msizanoen1 <qtmlabs@protonmail.com> | 2023-04-15 10:11:07 +0000 |
commit | ce0d9ccb37c8bb9831c290cd636539a218a7fa18 (patch) | |
tree | 7aa836ae80c276f804d44d8cbc096e47fd33f991 | |
parent | 2a600ac98e5d47f68a3e39dc12801a5e1c7bb7fa (diff) | |
download | mutter-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.c | 2 |
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; |