Add GdkDrop back to signal signatures
authorMatthias Clasen <mclasen@redhat.com>
Wed, 8 Jan 2020 04:45:27 +0000 (23:45 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Wed, 8 Jan 2020 23:48:22 +0000 (18:48 -0500)
gtk/gtkdragdest.c

index 41d7b7d117bce370618ad3de3de9407b5a8e8084..7af2f369145d7167aaf1a917803e8ad0a24efab5 100644 (file)
@@ -66,6 +66,7 @@ struct _GtkDropTargetClass
   GtkEventControllerClass parent_class;
 
   gboolean (*drag_motion) (GtkDropTarget *dest,
+                           GdkDrop       *drop,
                            int            x,
                            int            y);
 };
@@ -89,6 +90,7 @@ enum {
 static guint signals[NUM_SIGNALS];
 
 static gboolean gtk_drop_target_drag_motion (GtkDropTarget *dest,
+                                             GdkDrop       *drop,
                                              int            x,
                                              int            y);
 
@@ -224,6 +226,7 @@ gtk_drop_target_class_init (GtkDropTargetClass *class)
   /**
    * GtkDropTarget::drag-leave:
    * @dest: the #GtkDropTarget
+   * @drop: the #GdkDrop
    *
    * The ::drag-leave signal is emitted on the drop site when the cursor
    * leaves the widget. A typical reason to connect to this signal is to
@@ -240,11 +243,13 @@ gtk_drop_target_class_init (GtkDropTargetClass *class)
                     0,
                     NULL, NULL,
                     NULL,
-                    G_TYPE_NONE, 0);
+                    G_TYPE_NONE, 1,
+                    GDK_TYPE_DROP);
 
  /**
    * GtkWidget::drag-motion:
    * @dest: the #GtkDropTarget
+   * @drop: the #GdkDrop
    * @x: the x coordinate of the current cursor position
    * @y: the y coordinate of the current cursor position
    *
@@ -280,12 +285,13 @@ gtk_drop_target_class_init (GtkDropTargetClass *class)
                     G_STRUCT_OFFSET (GtkDropTargetClass, drag_motion),
                     g_signal_accumulator_first_wins, NULL,
                     NULL,
-                    G_TYPE_BOOLEAN, 2,
-                    G_TYPE_INT, G_TYPE_INT);
+                    G_TYPE_BOOLEAN, 3,
+                    GDK_TYPE_DROP, G_TYPE_INT, G_TYPE_INT);
 
   /**
    * GtkDropTarget::drag-drop:
    * @dest: the #GtkDropTarget
+   * @drop: the #GdkDrop
    * @x: the x coordinate of the current cursor position
    * @y: the y coordinate of the current cursor position
    *
@@ -319,8 +325,8 @@ gtk_drop_target_class_init (GtkDropTargetClass *class)
                     0,
                     NULL, NULL,
                     NULL,
-                    G_TYPE_BOOLEAN, 2,
-                    G_TYPE_INT, G_TYPE_INT);
+                    G_TYPE_BOOLEAN, 3,
+                    GDK_TYPE_DROP, G_TYPE_INT, G_TYPE_INT);
 }
 
 /**
@@ -494,10 +500,10 @@ gtk_drop_target_find_mimetype (GtkDropTarget *dest)
 
 static gboolean
 gtk_drop_target_drag_motion (GtkDropTarget *dest,
+                             GdkDrop       *drop,
                              int            x,
                              int            y)
 {
-  GdkDrop *drop = dest->drop;
   GdkDragAction dest_actions;
   GdkDragAction actions;
   GdkAtom target;
@@ -542,7 +548,7 @@ gtk_drop_target_emit_drag_leave (GtkDropTarget    *dest,
                                  GdkDrop          *drop)
 {
   set_drop (dest, drop);
-  g_signal_emit (dest, signals[DRAG_LEAVE], 0, time);
+  g_signal_emit (dest, signals[DRAG_LEAVE], 0, drop, time);
   set_drop (dest, NULL);
   gtk_drop_target_set_contains (dest, FALSE);
 }
@@ -558,7 +564,7 @@ gtk_drop_target_emit_drag_motion (GtkDropTarget    *dest,
   dest->contains_pending = TRUE;
 
   set_drop (dest, drop);
-  g_signal_emit (dest, signals[DRAG_MOTION], 0, x, y, &result);
+  g_signal_emit (dest, signals[DRAG_MOTION], 0, drop, x, y, &result);
 
   if (dest->contains_pending)
     gtk_drop_target_set_contains (dest, result);
@@ -575,7 +581,7 @@ gtk_drop_target_emit_drag_drop (GtkDropTarget    *dest,
   gboolean result = FALSE;
 
   set_drop (dest, drop);
-  g_signal_emit (dest, signals[DRAG_DROP], 0, x, y, &result);
+  g_signal_emit (dest, signals[DRAG_DROP], 0, drop, x, y, &result);
 
   return result;
 }
@@ -678,8 +684,7 @@ gtk_drop_target_handle_event (GtkEventController *controller,
       break;
 
     case GDK_DROP_START:
-      /* We send a leave before the drop so that the widget unhighlights
-       * properly.
+      /* We send a leave before the drop so that the widget unhighlights properly.
        */
       if (old_dest)
         {