[gtk+] Fix up managed dnd
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] Fix up managed dnd
- Date: Sat, 11 Nov 2017 12:50:22 +0000 (UTC)
commit f40b3bc5bc1d89c86e2a258505b6239fe2956f0d
Author: Matthias Clasen <mclasen redhat com>
Date: Sat Nov 11 07:46:59 2017 -0500
Fix up managed dnd
Since commit 6c56d04cee23d3340cf7cf08756c610efe9ccdab,
we were doing some calls twice in the managed dnd case,
leading to double drops.
gtk/gtkdnd.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
---
diff --git a/gtk/gtkdnd.c b/gtk/gtkdnd.c
index 40c14ee..3caf43a 100644
--- a/gtk/gtkdnd.c
+++ b/gtk/gtkdnd.c
@@ -1905,7 +1905,9 @@ gtk_drag_drop (GtkDragSourceInfo *info,
if (info->icon_window)
gtk_widget_hide (info->icon_window);
- gdk_drag_drop (info->context, time);
+ if (!gtk_drag_is_managed (info->widget))
+ gdk_drag_drop (info->context, time);
+
info->drop_timeout = gdk_threads_add_timeout (DROP_ABORT_TIME,
gtk_drag_abort_timeout,
info);
@@ -2195,7 +2197,8 @@ gtk_drag_cancel_internal (GtkDragSourceInfo *info,
guint32 time)
{
gtk_drag_end (info, time);
- gdk_drag_abort (info->context, time);
+ if (!gtk_drag_is_managed (info->widget))
+ gdk_drag_abort (info->context, time);
gtk_drag_drop_finished (info, result, time);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]