diff --git a/src/glx/glxext.c b/src/glx/glxext.c index b1b98a9fadd..755a75ab568 100644 --- a/src/glx/glxext.c +++ b/src/glx/glxext.c @@ -651,18 +651,15 @@ createConfigsFromProperties(Display * dpy, int nvisuals, int nprops, m = modes; for (i = 0; i < nvisuals; i++) { _XRead(dpy, (char *) props, prop_size); -#ifdef GLX_USE_APPLEGL - /* Older X servers don't send this so we default it here. */ - m->drawableType = GLX_WINDOW_BIT; -#else - /* - * The XQuartz 2.3.2.1 X server doesn't set this properly, so - * set the proper bits here. - * AppleSGLX supports windows, pixmaps, and pbuffers with all config. + /* If this is GLXGetVisualConfigs then the reply will not include + * any drawable type info, but window support is implied because + * that's what a Visual describes, and pixmap support is implied + * because you almost certainly have a pixmap format corresponding + * to your visual format. */ - m->drawableType = GLX_WINDOW_BIT | GLX_PIXMAP_BIT | GLX_PBUFFER_BIT; -#endif - __glXInitializeVisualConfigFromTags(m, nprops, props, + if (!tagged_only) + m->drawableType = GLX_WINDOW_BIT | GLX_PIXMAP_BIT; + __glXInitializeVisualConfigFromTags(m, nprops, props, tagged_only, GL_TRUE); m->screen = screen; m = m->next;