dragdest: Handle NULL content formats everywhere

NULL means we don't do content formats checks and accept everything.

We use this for notebook arrows or expanders that react to ongoing
drags.
This commit is contained in:
Benjamin Otte 2020-02-17 03:04:37 +01:00
parent 9a7607b419
commit e25bfa6a61

View File

@ -448,7 +448,9 @@ gtk_drop_target_set_formats (GtkDropTarget *dest,
* *
* Gets the data formats that this drop target accepts. * Gets the data formats that this drop target accepts.
* *
* Returns: the supported data formats * If the result is %NULL, all formats are expected to be supported.
*
* Returns: (nullable): the supported data formats
*/ */
GdkContentFormats * GdkContentFormats *
gtk_drop_target_get_formats (GtkDropTarget *dest) gtk_drop_target_get_formats (GtkDropTarget *dest)
@ -563,6 +565,9 @@ gtk_drop_target_find_mimetype (GtkDropTarget *dest)
if (!dest->drop) if (!dest->drop)
return NULL; return NULL;
if (dest->formats == NULL)
return NULL;
return gtk_drop_target_match (dest, dest->drop); return gtk_drop_target_match (dest, dest->drop);
} }
@ -573,6 +578,9 @@ gtk_drop_target_accept (GtkDropTarget *dest,
if ((gdk_drop_get_actions (drop) & gtk_drop_target_get_actions (dest)) == 0) if ((gdk_drop_get_actions (drop) & gtk_drop_target_get_actions (dest)) == 0)
return FALSE; return FALSE;
if (dest->formats == NULL)
return TRUE;
return gdk_content_formats_match (dest->formats, gdk_drop_get_formats (drop)); return gdk_content_formats_match (dest->formats, gdk_drop_get_formats (drop));
} }