ch11ng/xelb

xcb:QueryTextExtents is broken

Vannil opened this issue · 1 comments

I've tried using this request, but it always produces an
error about the wrong number of arguments being passed.

I tried to bypass this error, but then another
error was signaled. This time, it was about a method being
used on something that was not an object.

From what I could gather, the xcb:-marshal-field function
applies xcb:marshal on each character of the :string
argument of xcb:QueryTextExtent.
The problem seems to be on how the marshaling expects
a xcb:CHAR2B object, but finds an Emacs char instead.

Changing the function to generate xcb:CHAR2B when
needed seems to hang the system when waiting for a reply,
but it might be an unrelated event.

I tried using this request on Emacs 24.5 and 25.0.92, and
I got these errors on both.

Thank you for the report. It reveals several bugs. They're fixed in 5b969ed.