diff options
| author | Aditya Lohuni <99452671+snowleopard17@users.noreply.github.com> | 2025-08-15 22:34:39 +0530 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-08-15 18:04:39 +0100 |
| commit | edc473e8b0c14e768445422080af9978d132bff6 (patch) | |
| tree | fabd2d8c9fecd3dd26ab570857e9c5c07ed89085 /src/xwayland/XWM.cpp | |
| parent | aaedce596ec27742ea8f00a20607913e8a3e83db (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.cpp | 5 |
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; |
