[Xcb] low-level API changes

Jamey Sharp jamey at minilop.net
Fri Mar 3 11:55:10 PST 2006


I'm pushing a batch of XCB and Xlib commits right now that I've been
working on for the last week.

The most important thing you folks need to know if you've been trying
Xlib/XCB is that there are backwards-incompatible changes here: you need
to upgrade Xlib and XCB simultaneously. I think I'm done making changes
that require Xlib and XCB to be in sync though, so this shouldn't happen
again.

These changes should be ABI-compatible with pure-XCB apps. All the
incompatibility stems from changes to XCBSendRequest, which is part of
the extension API in xcbext.h and is not expected to be used by
applications. These changes include various error handling improvements
and the removal of all malloc/free calls on the request-sending path.

These commits also include a lot of internal refactoring inside XCB.
Much of that work involved replacing my old generic linked list code
with data structure implementations better suited for XCB's needs, which
resulted in some nice simplifications and code-size reductions. One use
of the generic map code remains, but I'll fix it eventually.

As usual I've run the X Test Suite over Xlib/XCB and these changes
introduce no regressions. I still need to fix bug #5839 but I know how
to do that.

Bart and I proved the correctness of a new algorithm for handling
sequence number wraps this week too. I'm really excited about
implementing it now that I have these other fixes out of the way. It's
going to simplify the code a bit more as well as making it issue fewer
syncs. yay!

--Jamey
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://lists.freedesktop.org/archives/xcb/attachments/20060303/ad805a06/attachment.pgp


More information about the Xcb mailing list