Blob Blame Raw
--- xorg-server-1.1.1/GL/mesa/X/xf86glx.c.glcore-visual	2006-07-05 14:31:36.000000000 -0400
+++ xorg-server-1.1.1/GL/mesa/X/xf86glx.c	2006-12-11 12:14:30.000000000 -0500
@@ -311,17 +311,22 @@
 {
     __GLXMESAscreen *mesaScreen = (__GLXMESAscreen *) screen;
     const __GLcontextModes *modes;
-    unsigned i = 0;
+    XMesaVisual *xmv;
 
     for ( modes = screen->modes ; modes != NULL ; modes = modes->next ) {
 	if ( modes->visualID == vid ) {
 	    break;
 	}
-
-	i++;
     }
 
-    return (modes != NULL) ? mesaScreen->xm_vis[i] : NULL;
+    if (!modes)
+	return NULL;
+
+    for (xmv = mesaScreen->xm_vis; xmv; xmv++)
+	if ((*xmv)->mesa_visual.visualID == vid)
+	    return *xmv;
+
+    return NULL;
 }
 
 static void init_screen_visuals(__GLXMESAscreen *screen)