Bug#391681: Mesa calls UnlockDisplay twice in a row; triggers assertion with Xlib/XCB

Josh Triplett josh at freedesktop.org
Sun Oct 8 05:02:11 UTC 2006


Package: libgl1-mesa-glx
Version: 6.5.1-0.1
Tags: patch

AllocAndFetchScreenConfigs always calls UnlockDisplay twice without an
intervening LockDisplay. We found this because Xlib/XCB asserts that you can't unlock
the display if you don't have it locked.

While fixing this we noticed that SyncHandle isn't consistently called after
UnlockDisplay in this function.

--- glxext.c    26 Sep 2006 23:56:20 -0000      1.25
+++ glxext.c    6 Oct 2006 00:17:39 -0000
@@ -1016,11 +1016,11 @@ static Bool AllocAndFetchScreenConfigs(D
        if (!_XReply(dpy, (xReply*) &reply, 0, False)) {
            /* Something is busted. Punt. */
            UnlockDisplay(dpy);
+           SyncHandle();
            FreeScreenConfigs(priv);
            return GL_FALSE;
        }

-       UnlockDisplay(dpy);
        if (!reply.numVisuals) {
            /* This screen does not support GL rendering */
            UnlockDisplay(dpy);

See https://bugs.freedesktop.org/show_bug.cgi?id=8521 for details.

- Josh Triplett

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 252 bytes
Desc: OpenPGP digital signature
Url : http://lists.alioth.debian.org/pipermail/pkg-mesa-devel/attachments/20061007/5f298008/signature.pgp


More information about the Pkg-mesa-devel mailing list