[gtk+/wip/garnacho/dnd-grab: 8/13] gtkdnd: Reset widget controllers when starting DnD.



commit 6fcfc4f7c69263673f79cf0ffc7c981baa8eb08b
Author: Carlos Garnacho <carlosg gnome org>
Date:   Wed Jan 13 20:54:43 2016 +0100

    gtkdnd: Reset widget controllers when starting DnD.
    
    Otherwise there's no full guarantees that this will happen.

 gtk/gtkdnd.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)
---
diff --git a/gtk/gtkdnd.c b/gtk/gtkdnd.c
index fc78cff..3748112 100644
--- a/gtk/gtkdnd.c
+++ b/gtk/gtkdnd.c
@@ -55,6 +55,7 @@
 #include "gtkselectionprivate.h"
 #include "gtkwindowgroup.h"
 #include "gtkwindowprivate.h"
+#include "gtkwidgetprivate.h"
 
 
 /**
@@ -2308,6 +2309,8 @@ gtk_drag_begin_internal (GtkWidget          *widget,
   info->start_x = start_x;
   info->start_y = start_y;
 
+  gtk_widget_reset_controllers (widget);
+
   g_signal_emit_by_name (widget, "drag-begin", info->context);
 
   /* Ensure that we have an icon before we start the drag; the
@@ -2336,7 +2339,7 @@ gtk_drag_begin_internal (GtkWidget          *widget,
                         G_CALLBACK (gtk_drag_context_dnd_finished_cb), info);
       g_signal_connect (context, "cancel",
                         G_CALLBACK (gtk_drag_context_cancel_cb), info);
-      g_signal_connect (context, "action",
+      g_signal_connect (context, "action-changed",
                         G_CALLBACK (gtk_drag_context_action_cb), info);
 
       selection = gdk_drag_get_selection (context);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]