[Xcb] xcb pre-release
Barton C Massey
bart at cs.pdx.edu
Thu Jul 17 17:16:50 PDT 2008
In message <87hcap2gpq.fsf at ambire.localdomain> you wrote:
> () Peter Hutterer <peter.hutterer at who-t.net>
> () Thu, 17 Jul 2008 14:46:33 +0930
> Is xcb proto ready for a 1.2 release?
> A bugfix (patch below) still needs to be applied, AFAICT.
> The tip of the discussion regarding it can be found at:
Actually, Thien-Thi, I don't think the suggested patch can
be made right. This should be an FAQ somewhere on the
currently-broken XCB wiki.
The basic problem is that we provide no way of easily
constructing, on the user side, a packed list of strings of
known size and count to use in requests. However, part of
the philosophy of XCB is that it won't repack data for the
application: the app is expected to pass parameters in a
format ready to put on the wire. This is a feature for
performance-concerned apps that keep the data lying around
in the proper format, but it's not so much a feature for
figuring out what's going on.
Thus, in a few cases such as SetFontPath, we currently just
punt and ask for a char* and a length. This is clearly a
bug, but we haven't heard a better suggestion. Probably the
best we can do is just provide the function everybody wants
in util/aux. Better suggestions are gratefully accepted.
I've put optional test cases for GetFontPath and SetFontPath
into demo/xcb-test now. I'll commit them as soon as I get
my commit access back. :-)
Having not heard from Jamey or Josh for several days on
this, I'd personally say, Peter, that I'd love to have you
roll a maintenance release of both xproto and libxcb. It
may only last a month or two, but that's OK by me.
> From e3cf8896c28f10465db24539a4d8cf7e92b80dbb Mon Sep 17 00:00:00 2001
> From: Thien-Thi Nguyen <ttn at gnuvola.org>
> Date: Sat, 14 Jun 2008 10:44:13 +0200
> Subject: [PATCH] Bugfix: Use LISTofSTRING8 for `SetFontPath' request.
> * src/xproto.xml (SetFontPath): Rename field `font_qty'
> to `path_len'; add padding; change list field `path' to
> type `STR', with fieldref `path_len'.
> Signed-off-by: Thien-Thi Nguyen <ttn at gnuvola.org>
> src/xproto.xml | 7 +++++--
> 1 files changed, 5 insertions(+), 2 deletions(-)
> diff --git a/src/xproto.xml b/src/xproto.xml
> index 0b796a9..ceec302 100644
> --- a/src/xproto.xml
> +++ b/src/xproto.xml
> @@ -1339,8 +1339,11 @@ authorization from the authors.
> <request name="SetFontPath" opcode="51">
> <pad bytes="1" />
> - <field type="CARD16" name="font_qty" />
> - <list type="char" name="path" />
> + <field type="CARD16" name="path_len" />
> + <pad bytes="2" />
> + <list type="STR" name="path">
> + <fieldref>path_len</fieldref>
> + </list>
> <request name="GetFontPath" opcode="52">
More information about the Xcb