branch: externals/xelb
commit 81c699fbc8e34ac81c2ba9819ae7592cbd2f8d78
Author: Chris Feng <[email protected]>
Commit: Chris Feng <[email protected]>
Protect process-send-string
* xcb.el (xcb:flush): protect process-send-string since input might also
come
when calling it. Courtesy of @pipcet.
---
xcb.el | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/xcb.el b/xcb.el
index 88ff1fb..029b2cf 100644
--- a/xcb.el
+++ b/xcb.el
@@ -356,8 +356,10 @@ classes of EVENT (since they have the same event number)."
(let ((cache (slot-value obj 'request-cache)))
(when (< 0 (length cache))
(setf (slot-value obj 'request-cache) []) ;should be cleared ASAP
+ (cl-incf (slot-value obj 'event-lock))
(process-send-string (slot-value obj 'process)
- (apply #'unibyte-string (append cache nil))))))
+ (apply #'unibyte-string (append cache nil)))
+ (cl-decf (slot-value obj 'event-lock)))))
(cl-defmethod xcb:get-extension-data ((obj xcb:connection) namespace)
"Fetch the extension data from X server (block until data is retrieved)."