Merge branch 'arb_vertex_array_object'
[mesa.git] / src / gallium / state_trackers / glx / xlib / fakeglx.c
index 65e7048188e15d89153a2bcdf89caf8e73a7fb07..23777c76f6cd7b97dd207ec3f240702b390d257c 100644 (file)
@@ -97,6 +97,9 @@ struct fake_glx_context {
 
 
 
+#define DEFAULT_DIRECT GL_TRUE
+
+
 /**********************************************************************/
 /***                       GLX Visual Code                          ***/
 /**********************************************************************/
@@ -1059,7 +1062,7 @@ Fake_glXCreateContext( Display *dpy, XVisualInfo *visinfo,
       return NULL;
    }
 
-   glxCtx->glxContext.isDirect = GL_FALSE;
+   glxCtx->glxContext.isDirect = DEFAULT_DIRECT;
    glxCtx->glxContext.currentDpy = dpy;
    glxCtx->glxContext.xid = (XID) glxCtx;  /* self pointer */
 
@@ -1296,9 +1299,9 @@ Fake_glXDestroyContext( Display *dpy, GLXContext ctx )
 static Bool
 Fake_glXIsDirect( Display *dpy, GLXContext ctx )
 {
-   (void) dpy;
+   struct fake_glx_context *glxCtx = (struct fake_glx_context *) ctx;
    (void) ctx;
-   return False;
+   return glxCtx->glxContext.isDirect;
 }
 
 
@@ -1817,7 +1820,7 @@ Fake_glXCreatePixmap( Display *dpy, GLXFBConfig config, Pixmap pixmap,
    if (!dpy || !config || !pixmap)
       return 0;
 
-   for (attr = attribList; *attr; attr++) {
+   for (attr = attribList; attr && *attr; attr++) {
       switch (*attr) {
       case GLX_TEXTURE_FORMAT_EXT:
          attr++;
@@ -2055,7 +2058,7 @@ Fake_glXCreateNewContext( Display *dpy, GLXFBConfig config,
       return NULL;
    }
 
-   glxCtx->glxContext.isDirect = GL_FALSE;
+   glxCtx->glxContext.isDirect = DEFAULT_DIRECT;
    glxCtx->glxContext.currentDpy = dpy;
    glxCtx->glxContext.xid = (XID) glxCtx;  /* self pointer */
 
@@ -2277,7 +2280,7 @@ Fake_glXCreateContextWithConfigSGIX(Display *dpy, GLXFBConfigSGIX config, int re
       return NULL;
    }
 
-   glxCtx->glxContext.isDirect = GL_FALSE;
+   glxCtx->glxContext.isDirect = DEFAULT_DIRECT;
    glxCtx->glxContext.currentDpy = dpy;
    glxCtx->glxContext.xid = (XID) glxCtx;  /* self pointer */