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

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to