From: Kristian Høgsberg Date: Mon, 10 Mar 2008 21:59:46 +0000 (-0400) Subject: Only try to call DRI function if DRI got initialized properly. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3731159ec6e1527655d91b3eb364d5c2d252ac60;p=mesa.git Only try to call DRI function if DRI got initialized properly. --- diff --git a/src/glx/x11/glxcmds.c b/src/glx/x11/glxcmds.c index c761ddf29ff..1437ea54425 100644 --- a/src/glx/x11/glxcmds.c +++ b/src/glx/x11/glxcmds.c @@ -360,6 +360,10 @@ CreateContext(Display *dpy, XVisualInfo *vis, Bool use_glx_1_3, int renderType) { GLXContext gc; +#ifdef GLX_DIRECT_RENDERING + int screen = (fbconfig == NULL) ? vis->screen : fbconfig->screen; + __GLXscreenConfigs * const psc = GetGLXScreenConfigs(dpy, screen); +#endif if ( dpy == NULL ) return NULL; @@ -373,9 +377,7 @@ CreateContext(Display *dpy, XVisualInfo *vis, return NULL; #ifdef GLX_DIRECT_RENDERING - if (allowDirect) { - int screen = (fbconfig == NULL) ? vis->screen : fbconfig->screen; - __GLXscreenConfigs * const psc = GetGLXScreenConfigs(dpy, screen); + if (allowDirect && psc->driScreen) { const __GLcontextModes * mode; if (fbconfig == NULL) { diff --git a/src/glx/x11/glxext.c b/src/glx/x11/glxext.c index 47f8da04b29..bb3fc894033 100644 --- a/src/glx/x11/glxext.c +++ b/src/glx/x11/glxext.c @@ -771,7 +771,8 @@ static Bool AllocAndFetchScreenConfigs(Display *dpy, __GLXdisplayPrivate *priv) psc->scr = i; psc->dpy = dpy; #ifdef GLX_DIRECT_RENDERING - psc->driScreen = (*priv->driDisplay->createScreen)(psc, i, priv); + if (priv->driDisplay) + psc->driScreen = (*priv->driDisplay->createScreen)(psc, i, priv); #endif } SyncHandle();