summaryrefslogtreecommitdiff
path: root/src/xwayland/XWM.cpp
diff options
context:
space:
mode:
authorAditya Lohuni <99452671+snowleopard17@users.noreply.github.com>2025-08-15 22:34:39 +0530
committerGitHub <noreply@github.com>2025-08-15 18:04:39 +0100
commitedc473e8b0c14e768445422080af9978d132bff6 (patch)
treefabd2d8c9fecd3dd26ab570857e9c5c07ed89085 /src/xwayland/XWM.cpp
parentaaedce596ec27742ea8f00a20607913e8a3e83db (diff)
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.
Diffstat (limited to 'src/xwayland/XWM.cpp')
-rw-r--r--src/xwayland/XWM.cpp5
1 files changed, 4 insertions, 1 deletions
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;