From d20ded876d27497d3fe6a9494add8106b507a45c Mon Sep 17 00:00:00 2001 From: llyyr Date: Fri, 28 Mar 2025 15:34:33 +0530 Subject: [PATCH] clipboard-wayland: prevent reading from hung up fd This causes mpv to use up 100% of a core if there's an offer for a mime_type that mpv doesn't accept with ext_data_control clipboard backend. --- player/clipboard/clipboard-wayland.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/player/clipboard/clipboard-wayland.c b/player/clipboard/clipboard-wayland.c index c4a5e504724f0..bd8ac35af2da5 100644 --- a/player/clipboard/clipboard-wayland.c +++ b/player/clipboard/clipboard-wayland.c @@ -348,6 +348,12 @@ static bool clipboard_wayland_dispatch_events(struct clipboard_wayland_priv *wl, if (fds[1].revents & POLLIN) return false; + if (fds[2].revents & (POLLERR | POLLHUP | POLLNVAL)) + destroy_offer(wl->selection_offer); + + if (fds[3].revents & (POLLERR | POLLHUP | POLLNVAL)) + destroy_offer(wl->primary_selection_offer); + if (fds[2].revents & POLLIN) get_selection_data(wl, wl->selection_offer, false);