branch: externals/xelb commit bd878076f5a40d1c2c6f44bf5eb808181cca9a73 Author: Steven Allen <ste...@stebalien.com> Commit: Steven Allen <ste...@stebalien.com>
Store the extension in the correct slot This is definitely not the extensions field from xim:query-extension because it's a single value, not a vector. It's `result' here: https://github.com/emacs-exwm/xelb/blob/6a336de503f87faaf25a373eb1909c23fa9dddcc/xcb.el#L803 And it comes from the connection's extension <-> opcode mapping (extension-opcode-plist in xcb:connection). * xcb-types.el (xcb:marshal xcb:-event): Use the correct slot. * xcb-types.el: Fix comments. --- xcb-types.el | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/xcb-types.el b/xcb-types.el index 5fb0d9e2ea..2e3250ee93 100644 --- a/xcb-types.el +++ b/xcb-types.el @@ -56,8 +56,8 @@ ;; We can't require `xcb-xkb' because it requires us. (eieio-declare-slots xkbType) -;; We can't require `xcb-xim' because it requires us. -(eieio-declare-slots extensions) ;; xim:query-extension +;; We can't require `xcb-preset' because it requires us. +(eieio-declare-slots extension) ;; xcb:preset:Generic ;; We can't require `xcb-present' because it requires us. (eieio-declare-slots ~sequence evtype) ;xcb:present:Generic @@ -838,10 +838,7 @@ This method auto-pads short results to 32 bytes." ;; XKB event. (setf (slot-value obj 'xkbType) (aref event-number 0)) ;; Generic event. - ;; FIXME: I see `extension' and `evtype' fields in - ;; `xcb:present:Generic' but no `extensions' (which I find - ;; only in `xim:query-extension' and `xim:query-extension-reply'). - (setf (slot-value obj 'extensions) (aref event-number 0) + (setf (slot-value obj 'extension) (aref event-number 0) (slot-value obj 'evtype) (aref event-number 1)))) (when (slot-exists-p obj '~sequence) (setf (slot-value obj '~sequence) (or sequence 0)))