mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-05 04:06:08 -05:00
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:
parent
bfc53d1e71
commit
2e4da6fbf6
2 changed files with 12 additions and 1 deletions
|
|
@ -74,10 +74,15 @@
|
||||||
|
|
||||||
* Graphical corruption when viewport is at the top of the scrollback,
|
* Graphical corruption when viewport is at the top of the scrollback,
|
||||||
and the output is scrolling.
|
and the output is scrolling.
|
||||||
* Improved text reflow of logical lines with trailing empty cells ([#1055][1055])
|
* Improved text reflow of logical lines with trailing empty cells
|
||||||
|
([#1055][1055])
|
||||||
* IME focus is now tracked independently from keyboard focus.
|
* IME focus is now tracked independently from keyboard focus.
|
||||||
|
* Workaround for buggy compositors (e.g. some versions of GNOME)
|
||||||
|
allowing drag-and-drops even though foot has reported it does not
|
||||||
|
support the offered mime-types ([#1092][1092]).
|
||||||
|
|
||||||
[1055]: https://codeberg.org/dnkl/foot/issues/1055
|
[1055]: https://codeberg.org/dnkl/foot/issues/1055
|
||||||
|
[1092]: https://codeberg.org/dnkl/foot/issues/1092
|
||||||
|
|
||||||
|
|
||||||
### Security
|
### Security
|
||||||
|
|
|
||||||
|
|
@ -2392,6 +2392,12 @@ drop(void *data, struct wl_data_device *wl_data_device)
|
||||||
|
|
||||||
struct wl_clipboard *clipboard = &seat->clipboard;
|
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));
|
struct dnd_context *ctx = xmalloc(sizeof(*ctx));
|
||||||
*ctx = (struct dnd_context){
|
*ctx = (struct dnd_context){
|
||||||
.term = term,
|
.term = term,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue