### Signal

# Gtk.DragSource::drag-cancel

#### 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()`

#### Parameters

`drag` | `GdkDrag*`
| the `GdkDrag` object
| Ownership is not transferred to the callee
`reason` | `GdkDragCancelReason*`
| information on why the drag failed
| Ownership is not transferred to the callee

#### Return value

Returns: `gboolean`
`TRUE` if the failed drag operation has been already handled