xserver: Branch 'master'
Alan Hourihane
alanh at kemper.freedesktop.org
Wed Feb 27 09:06:39 PST 2008
GL/glx/glxdri.c | 11 +++++++++++
1 file changed, 11 insertions(+)
New commits:
commit 41aea6194bd29ab34cc166b3fd90eee64299ddf8
Author: Alan Hourihane <alanh at tungstengraphics.com>
Date: Wed Feb 27 17:06:27 2008 +0000
More checking for failed contexts/drawables
diff --git a/GL/glx/glxdri.c b/GL/glx/glxdri.c
index 613ac05..f9b28e4 100644
--- a/GL/glx/glxdri.c
+++ b/GL/glx/glxdri.c
@@ -653,6 +653,9 @@ __glXDRIscreenCreateContext(__GLXscreen *baseScreen,
&context->driContext);
if (context->driContext.private == NULL) {
+ __glXenterServer(GL_FALSE);
+ retval = DRIDestroyContext(baseScreen->pScreen, context->hwContextID);
+ __glXleaveServer(GL_FALSE);
xfree(context);
return NULL;
}
@@ -703,6 +706,14 @@ __glXDRIscreenCreateDrawable(__GLXscreen *screen,
&private->driDrawable,
hwDrawable, 0, NULL);
+ if (private->driDrawable.private == NULL) {
+ __glXenterServer(GL_FALSE);
+ DRIDestroyDrawable(screen->pScreen, serverClient, pDraw);
+ __glXleaveServer(GL_FALSE);
+ xfree(private);
+ return NULL;
+ }
+
return &private->base;
}
More information about the xorg-commit
mailing list