[Xcb] Problem with XCBImagePut

Jamey Sharp jamey at minilop.net
Tue Jun 6 00:19:43 PDT 2006

On Mon, Jun 05, 2006 at 07:51:37PM -0600, Orhun Birsoy wrote:
> Hi,
> I am trying to learn XCB, and I am having problems.

Hi Orhun! Welcome and thanks for trying XCB, though I'm sorry to hear
it's not going perfectly. :-/ You've put together a fairly sophisticated
application that looks pretty reasonable (at least at a quick glance),
which is impressive if you haven't done any low-level X programming
before. :-)

Vincent has replied to most of your issues, so I'll just comment on this

> I am having problems when I resize my window greater than a certain 
> size. XCBPollForEvent returns NULL and error parameter is -1. ...

This means an I/O error occurred, unless we have a bug in XCB. I'm
wondering if perhaps your X server is missing the BIG-REQUESTS
extension? You can check by running xdpyinfo and looking for that name
in the list following "number of extensions:". In that case, there's
nothing XCB can do if you try to send more than about 256kB of image
data in a single XCBPutImage request. If the XCBImagePut utility
function isn't detecting that case and auto-splitting the image, I guess
that's a bug in XCBImage.

However, XCB should fail gracefully by doing nothing if the request is
too big, and I don't see how doing nothing could produce an I/O error.
So my diagnosis may be wrong.

It would be interesting to know if you have the same problem with the
shared-memory (SHM) versions of these functions, because the
BIG-REQUESTS extension isn't relevant for those.

Note that XCBPutImage returns an XCBVoidCookie, and if the `sequence`
field of that structure is 0 then an error occured while trying to send
the PutImage request to the server. Checking for this error return may
help us track down your problem.

-------------- 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/20060606/b246d47d/attachment.pgp

More information about the Xcb mailing list