diff --git a/CHANGELOG.md b/CHANGELOG.md index 899da227..06783715 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -113,6 +113,8 @@ means foot can be PGO:d in e.g. sandboxed build scripts. See * `footclient` `-m` (`--maximized`) flag being ignored. * Crash with explicitly sized sixels with a height less than 6 pixels. * Key mappings for `esc` with modifiers. +* Crash when pasting non-textual clipboard content + (https://codeberg.org/dnkl/foot/issues/230). ### Security diff --git a/selection.c b/selection.c index 71f85b7e..cb57fd92 100644 --- a/selection.c +++ b/selection.c @@ -1370,7 +1370,9 @@ text_from_clipboard(struct seat *seat, struct terminal *term, void (*done)(void *user), void *user) { struct wl_clipboard *clipboard = &seat->clipboard; - if (clipboard->data_offer == NULL) { + if (clipboard->data_offer == NULL || + clipboard->mime_type == DATA_OFFER_MIME_UNSET) + { done(user); return; } @@ -1512,7 +1514,9 @@ text_from_primary( } struct wl_primary *primary = &seat->primary; - if (primary->data_offer == NULL){ + if (primary->data_offer == NULL || + primary->mime_type == DATA_OFFER_MIME_UNSET) + { done(user); return; }