selection: ignore drag-and-drops with unsupported mime-types

Specifically, make sure we do *not* call wl_data_offer_receive() with
a NULL mime-type, as this causes libwayland to error out, which in
turn causes foot to exit.

Closes #1092
This commit is contained in:
Daniel Eklöf 2022-06-20 19:29:57 +02:00
parent bfc53d1e71
commit 2e4da6fbf6
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 12 additions and 1 deletions

View file

@ -2392,6 +2392,12 @@ drop(void *data, struct wl_data_device *wl_data_device)
struct wl_clipboard *clipboard = &seat->clipboard;
if (clipboard->mime_type == DATA_OFFER_MIME_UNSET) {
LOG_WARN("compositor called data_device::drop() "
"even though we rejected the drag-and-drop");
return;
}
struct dnd_context *ctx = xmalloc(sizeof(*ctx));
*ctx = (struct dnd_context){
.term = term,