[Xcb] [Bug 26545] xcb_io.c: extension error handler is not called
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Tue Apr 13 13:34:59 PDT 2010
https://bugs.freedesktop.org/show_bug.cgi?id=26545
Jamey Sharp <jamey at minilop.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
--- Comment #4 from Jamey Sharp <jamey at minilop.net> 2010-04-13 13:34:58 PDT ---
Perfect, thanks! I've pushed a fix for the bug you've observed, though there's
a little more work to do.
Before I explain that: I found what looks like a long-standing bug in Xlib, or
at least a misfeature. Try editing your test program to call XNextEvent before
XCloseDisplay. You'll find that even Xlib --without-xcb calls _XError then.
As far as I can tell, Xlib only consulted handlers set with XESetError for
errors seen by _XReply--not when looking for events, or waiting to be able to
flush the output queue.
I've just gone to a tiny bit of trouble to reproduce that odd behavior in Xlib
built --with-xcb. If that's not desirable, it would be nice to remove the extra
code that implements it. :-)
Now, I can't close the bug yet, because there are two cases where Xlib built
--with-xcb still won't consult with the extension error handlers: for requests
issued while an async_handler is queued, and for connections where
XSetEventQueueOwner has been used to let XCB do all event handling. (This is
the "if(req && xcb_poll_for_reply..." case in process_responses.)
I can fix those cases trivially, but supporting the above odd behavior at the
same time requires some refactoring.
--
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