aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--types/wlr_gtk_primary_selection.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/types/wlr_gtk_primary_selection.c b/types/wlr_gtk_primary_selection.c
index ca82b3e7..18bc624a 100644
--- a/types/wlr_gtk_primary_selection.c
+++ b/types/wlr_gtk_primary_selection.c
@@ -98,6 +98,7 @@ static void destroy_offer(struct wl_resource *resource) {
struct client_data_source {
struct wlr_primary_selection_source source;
struct wl_resource *resource;
+ bool finalized;
};
static void client_source_send(
@@ -138,6 +139,9 @@ static void source_handle_offer(struct wl_client *client,
if (source == NULL) {
return;
}
+ if (source->finalized) {
+ wlr_log(WLR_DEBUG, "Offering additional MIME type after set_selection");
+ }
char *dup_mime_type = strdup(mime_type);
if (dup_mime_type == NULL) {
@@ -200,6 +204,7 @@ static void device_handle_set_selection(struct wl_client *client,
struct wlr_primary_selection_source *source = NULL;
if (client_source != NULL) {
+ client_source->finalized = true;
source = &client_source->source;
}