### Signal

# Gtk DragSource::drag-cancel

since: 4.0

#### Declaration

    gboolean
    drag_cancel (
      GtkDragSource* self,
      GdkDrag* drag,
      GdkDragCancelReason* reason,
      gpointer user_data
    )

#### Description [src]

Emitted on the drag source when a drag has failed.

The signal handler may handle a failed drag operation based on the type of error. It should return `TRUE` if the failure has been handled and the default “drag operation failed” animation should not be shown.

Default handler: The default handler is called after the handlers added via `g_signal_connect()`.
Available since: 4.0

#### Parameters

`drag`

  Type: `GdkDrag`

  The `GdkDrag` object.

  The data is owned by the caller of the function.

`reason`

  Type: `GdkDragCancelReason`

  Information on why the drag failed.

  The data is owned by the caller of the function.

#### Return value

Type: `gboolean`

`TRUE` if the failed drag operation has been already handled.