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