xserver: Branch 'server-1.3-branch'

Alan Hourihane alanh at kemper.freedesktop.org
Wed Feb 27 08:51:42 PST 2008


 GL/glx/glxdri.c |    9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

New commits:
commit 817b20030b073f9e92c77c0f6887d080c99ae6df
Author: Alan Hourihane <alanh at tungstengraphics.com>
Date:   Wed Feb 27 16:49:34 2008 +0000

    Fix context sharing between direct/indirect contexts

diff --git a/GL/glx/glxdri.c b/GL/glx/glxdri.c
index 788b87d..6d5d9d7 100644
--- a/GL/glx/glxdri.c
+++ b/GL/glx/glxdri.c
@@ -472,6 +472,9 @@ __glXDRIscreenCreateContext(__GLXscreen *baseScreen,
     else
 	sharePrivate = NULL;
 
+    if (baseShareContext && baseShareContext->isDirect)
+        return NULL;
+
     context = xalloc(sizeof *context);
     if (context == NULL)
 	return NULL;
@@ -490,6 +493,11 @@ __glXDRIscreenCreateContext(__GLXscreen *baseScreen,
 					   0, /* render type */
 					   sharePrivate,
 					   &context->driContext);
+    
+    if (!context->driContext.private) {
+    	xfree(context);
+    	return NULL;
+    }
 
     context->driContext.mode = modes;
 
@@ -815,7 +823,6 @@ static Bool
 glxDRIEnterVT (int index, int flags)
 {
     __GLXDRIscreen *screen = (__GLXDRIscreen *) __glXgetActiveScreen(index);
-    Bool ret;
 
     LogMessage(X_INFO, "AIGLX: Resuming AIGLX clients after VT switch\n");
 


More information about the xorg-commit mailing list