From e25bfa6a6198a9c6a6deea6764b8061eb07387d6 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 17 Feb 2020 03:04:37 +0100 Subject: [PATCH] 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. --- gtk/gtkdragdest.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gtk/gtkdragdest.c b/gtk/gtkdragdest.c index 26cdc6eb53..eddd79b709 100644 --- a/gtk/gtkdragdest.c +++ b/gtk/gtkdragdest.c @@ -448,7 +448,9 @@ gtk_drop_target_set_formats (GtkDropTarget *dest, * * 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 * gtk_drop_target_get_formats (GtkDropTarget *dest) @@ -563,6 +565,9 @@ gtk_drop_target_find_mimetype (GtkDropTarget *dest) if (!dest->drop) return NULL; + if (dest->formats == NULL) + return NULL; + 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) return FALSE; + if (dest->formats == NULL) + return TRUE; + return gdk_content_formats_match (dest->formats, gdk_drop_get_formats (drop)); }