[Xcb] problem when getting replies

Vincent Torri vtorri at univ-evry.fr
Sun Nov 12 00:26:38 PST 2006



On Sat, 11 Nov 2006, Jamey Sharp wrote:

> Of course, I should have read your mail more carefully. The problem is
> probably in some request you're making before the atom_init function is
> called, I think. I'd suggest checking xcb_connection_has_error after
> each major chunk of requests or replies, or setting a breakpoint in
> _xcb_conn_shutdown and getting a stack trace from there. Probably the
> connection got shut down for some reason before atom_init_finalize.

Indeed, the problems comes from the query_version requests of the 
extensions (that is, xfixes, damage (and maybe xinerama, but i've not 
tested yet)).

I just do:

    _ecore_xcb_damage_init_cookie = 
xcb_damage_query_version_unchecked(_ecore_xcb_conn, 1, 0);

and when I check the connection with xcb_connection_has_error, there is 
indeed an error.
What does it mean ? Is it possible that my X server does not support the 
damage extension, which would be the reason ? And how can I check that ?

in order to be precise, ecore_init do that:

1) Prefetch the extension data for damage, randr, screensaver, shape, 
sync, xfixes and xinerama
2) request the atoms
3) get the extension replies
4) request the QueryVersion requests of damage and xfixes (and xinerama 
later)
5) get the atoms
6) get the replies of the QueryVersion requests

I'm also wondering if I can send the QueryVersion requests *before* 
step 3) (that is, before I get the replies of the extension data) That 
would remove some round trips if I am allowed to do that.

Vincent


More information about the Xcb mailing list