From 337a1b80e7e70697d71e15532f369d1e7b3ee52c Mon Sep 17 00:00:00 2001 From: Corey Berla Date: Sat, 5 Nov 2022 07:45:41 -0700 Subject: list-base: Clear hover timeout on drop In a wayland session, leave is emitted on a drop or cancelled drop. In x11 that's not the case. Explicitly clear the hover timeout on drop. Fixes: https://gitlab.gnome.org/GNOME/nautilus/-/issues/2585 --- src/nautilus-list-base.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/nautilus-list-base.c b/src/nautilus-list-base.c index 15e37d84e..93c20ccd3 100644 --- a/src/nautilus-list-base.c +++ b/src/nautilus-list-base.c @@ -851,6 +851,7 @@ on_item_drop (GtkDropTarget *target, { NautilusViewCell *cell = user_data; g_autoptr (NautilusListBase) self = nautilus_view_cell_get_view (cell); + NautilusListBasePrivate *priv = nautilus_list_base_get_instance_private (self); g_autoptr (NautilusViewItem) item = nautilus_view_cell_get_item (cell); GdkDragAction actions; GFile *target_location; @@ -869,6 +870,9 @@ on_item_drop (GtkDropTarget *target, } #endif + /* In x11 the leave signal isn't emitted on a drop so we need to clear the timeout */ + g_clear_handle_id (&priv->hover_timer_id, g_source_remove); + real_perform_drop (self, value, actions, target_location); return TRUE; -- cgit v1.2.1