From edc473e8b0c14e768445422080af9978d132bff6 Mon Sep 17 00:00:00 2001 From: Aditya Lohuni <99452671+snowleopard17@users.noreply.github.com> Date: Fri, 15 Aug 2025 22:34:39 +0530 Subject: [PATCH] xwayland: prevent infinite event loop in XWM clipboard transfers (#11427) Only recreate event source when onWrite() returns 1 (needs continuation). Prevents infinite loop when no valid transfers are available, fixing high CPU usage and error spam. --- src/xwayland/XWM.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/xwayland/XWM.cpp b/src/xwayland/XWM.cpp index f71d369b..d7b7f523 100644 --- a/src/xwayland/XWM.cpp +++ b/src/xwayland/XWM.cpp @@ -1287,7 +1287,10 @@ void CXWM::getTransferData(SXSelection& sel) { } const size_t transferIndex = std::distance(sel.transfers.begin(), it); - sel.onWrite(); + int writeResult = sel.onWrite(); + + if (writeResult != 1) + return; if (transferIndex >= sel.transfers.size()) return;