Package: xorg-server
Version: 2:1.5.1-1
Severity: important

mi/miinitext.c:InitExtensions() calls
GlxPushProvider(&__glXDRISWRastProvider);
On server regen, this means that the swrast glx provider is twice in
__glXProviderStack, which is no longer NULL-terminated.  The following
call to GlxExtensionInit() gets in an infinite loop.

The following patch works around this, but I have no idea if it's
correct, if __glXProviderStack should get emptied on regen, or something
else.  Just posting it here for the record.

diff --git a/mi/miinitext.c b/mi/miinitext.c
index 55faec3..750c425 100644
--- a/mi/miinitext.c
+++ b/mi/miinitext.c
@@ -661,7 +661,7 @@ InitExtensions(argc, argv)
 #endif
 
 #ifdef GLXEXT
-    GlxPushProvider(&__glXDRISWRastProvider);
+    if (serverGeneration == 1) GlxPushProvider(&__glXDRISWRastProvider);
     if (!noGlxExtension) GlxExtensionInit();
 #endif
 }

Cheers,
Julien



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to