This prevents DRI2GetScreen from being invoked with an uninitialized
private key which would cause an assert failure.

Signed-off-by: Keith Packard <[email protected]>
---

 hw/xfree86/dri2/dri2.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/hw/xfree86/dri2/dri2.c b/hw/xfree86/dri2/dri2.c
index 27d8e25..a8dedfa 100644
--- a/hw/xfree86/dri2/dri2.c
+++ b/hw/xfree86/dri2/dri2.c
@@ -957,8 +957,12 @@ Bool
 DRI2Connect(ScreenPtr pScreen, unsigned int driverType, int *fd,
            const char **driverName, const char **deviceName)
 {
-    DRI2ScreenPtr ds = DRI2GetScreen(pScreen);
+    DRI2ScreenPtr ds;
+
+    if (!dixPrivateKeyRegistered(dri2ScreenPrivateKey))
+       return FALSE;
 
+    ds = DRI2GetScreen(pScreen);
     if (ds == NULL || driverType >= ds->numDrivers ||
            !ds->driverNames[driverType])
        return FALSE;
-- 
1.7.1

Attachment: pgpcuXdqTwCmJ.pgp
Description: PGP signature

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to