I get an assertion failure in xcb_xlib_lock when calling XGetExtensionVersion in libXi (happens when starting any Qt application). Patch below fixes it. diff --git a/src/XGetVers.c b/src/XGetVers.c index 1f4fd7a..18dd6d8 100644 --- a/src/XGetVers.c +++ b/src/XGetVers.c @@ -67,10 +67,8 @@ XGetExtensionVersion(register Display * LockDisplay(dpy); ext = _XiGetExtensionVersion(dpy, name); - if (ext != (XExtensionVersion *) NoSuchExtension) { - UnlockDisplay(dpy); - SyncHandle(); - } + UnlockDisplay(dpy); + SyncHandle(); return (ext); } @@ -80,7 +78,11 @@ _XiGetExtensionVersion(register Display xGetExtensionVersionReq *req; xGetExtensionVersionReply rep; XExtensionVersion *ext; - XExtDisplayInfo *info = XInput_find_display(dpy); + XExtDisplayInfo *info; + + UnlockDisplay(dpy); + info = XInput_find_display(dpy); + LockDisplay(dpy); if (_XiCheckExtInit(dpy, Dont_Check) == -1) return ((XExtensionVersion *) NoSuchExtension); Ok to commit? Lars
Please re-test with libXi's git master branch. I think I just fixed this issue. Oh, and thanks much for testing! :-)
if this is still an issue, please feel free to commit directly.
But, er, don't commit *this* patch. :-) The first hunk is, I think, wrong, and the second hunk drops the lock at a point it probably shouldn't.
In the absence of any feedback to the contrary, I'm considering this fixed.
*** Bug 9392 has been marked as a duplicate of this bug. ***
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.