[Xcb] [Bug 26545] xcb_io.c: extension error handler is not called

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Apr 14 20:32:11 PDT 2010


--- Comment #7 from Daniel Stone <daniel at fooishbar.org> 2010-04-14 20:32:10 PDT ---
(In reply to comment #5)
> From the documentation of XESetError: "Inside Xlib, there are times that you
> may want to suppress the calling of the external error handling when an error
> occurs. This allows status to be returned on a call at the cost of the call
> being synchronous (though most such routines are query operations, in any case,
> and are typically programmed to be synchronous). When Xlib detects a protocol
> error in _XReply(), it calls your procedure ..."
> If I take that literally it means that I should force my call to be synchronous
> in order to be able to suppress errors.

Well, if you take it both literally and exclusively, yeah.  It doesn't say
anywhere that it won't call your extension error handler outside of _XReply;
however, this is behaviour that people almost certainly rely on, so we're
screwed I guess.

> I really don't know what the original intentions of Xlib designers have been.
> It seems a little bit silly to me that there isn't any good way to generally
> suppress errors in Xlib without doing some tricks. That odd behaviour is
> certainly not desirable in my opinion, but it's impossible to say if error
> detection was limited to _XReply and not to general handling of replies on
> purpose.

Xlib error handling, on the whole, is a bit of a joke.

Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

More information about the Xcb mailing list