[gtk/matthiasc/for-master] placessidebar: Fix dnd cancellation
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/matthiasc/for-master] placessidebar: Fix dnd cancellation
- Date: Sat, 8 Aug 2020 18:28:01 +0000 (UTC)
commit dbbc9b5c5885b57bb1737f4a0a52e45aea377657
Author: Matthias Clasen <mclasen redhat com>
Date: Sat Aug 8 14:25:46 2020 -0400
placessidebar: Fix dnd cancellation
When the drag is canceled by being dropped outside,
we get a ::cancel emission, that we want to handle
just like ::dnd-finished.
Fixes: #3037
gtk/gtkplacessidebar.c | 9 +++++++++
1 file changed, 9 insertions(+)
---
diff --git a/gtk/gtkplacessidebar.c b/gtk/gtkplacessidebar.c
index 106f227789..148a0aa711 100644
--- a/gtk/gtkplacessidebar.c
+++ b/gtk/gtkplacessidebar.c
@@ -1896,6 +1896,14 @@ dnd_finished_cb (GdkDrag *drag,
stop_drop_feedback (sidebar);
}
+static void
+dnd_cancel_cb (GdkDrag *drag,
+ GdkDragCancelReason reason,
+ GtkPlacesSidebar *sidebar)
+{
+ stop_drop_feedback (sidebar);
+}
+
/* This functions is called every time the drag source leaves
* the sidebar widget.
* The problem is that, we start showing hints for drop when the source
@@ -3494,6 +3502,7 @@ on_row_dragged (GtkGestureDrag *gesture,
g_object_unref (content);
g_signal_connect (drag, "dnd-finished", G_CALLBACK (dnd_finished_cb), sidebar);
+ g_signal_connect (drag, "cancel", G_CALLBACK (dnd_cancel_cb), sidebar);
gtk_widget_get_allocation (sidebar->drag_row, &allocation);
gtk_widget_hide (sidebar->drag_row);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]