The drag-drop signal is emitted on the drop site when the user drops the data onto the widget. The signal handler must determine whether the cursor position is in a drop zone or not. If it is not in a drop zone, it returns false and no further processing is necessary. Otherwise, the handler returns true. In this case, the handler must ensure that drop_finish() is called to let the source know that the drop is done. The call to drop_finish() can be done either directly or in a "drag-data-received" handler which gets triggered by calling get_data to receive the data for one or more of the supported targets.