xserver: Branch 'master' - 2 commits
Michel Daenzer
daenzer at kemper.freedesktop.org
Mon Oct 22 09:29:20 PDT 2007
GL/glx/glxcmds.c | 5 +++++
GL/glx/glxext.c | 4 ++--
2 files changed, 7 insertions(+), 2 deletions(-)
New commits:
commit fbe19c66c36acfb484809111cf02579a3baf2f0f
Author: Michel Dänzer <michel at tungstengraphics.com>
Date: Mon Oct 22 18:28:03 2007 +0200
GLX: Fix leak of X pixmaps associated with GLX pixmaps.
diff --git a/GL/glx/glxcmds.c b/GL/glx/glxcmds.c
index ac2393c..992ddbc 100644
--- a/GL/glx/glxcmds.c
+++ b/GL/glx/glxcmds.c
@@ -1215,6 +1215,11 @@ static int DoDestroyDrawable(__GLXclientState *cl, XID glxdrawable, int type)
return __glXError(GLXBadPbuffer);
}
}
+
+ if (type == GLX_DRAWABLE_PIXMAP) {
+ ((PixmapPtr) pGlxDraw->pDraw)->refcnt--;
+ }
+
FreeResource(glxdrawable, FALSE);
return Success;
commit c6d36b1cee44a9cbb690dff62a4683d7f6fbf30c
Author: Michel Dänzer <michel at tungstengraphics.com>
Date: Mon Oct 22 18:28:03 2007 +0200
GLX: Don't crash on unused client array members when switching to/from console.
diff --git a/GL/glx/glxext.c b/GL/glx/glxext.c
index 4d6bfd7..546d87f 100644
--- a/GL/glx/glxext.c
+++ b/GL/glx/glxext.c
@@ -393,7 +393,7 @@ void glxSuspendClients(void)
int i;
for (i = 1; i < currentMaxClients; i++) {
- if (glxGetClient(clients[i])->inUse)
+ if (clients[i] && glxGetClient(clients[i])->inUse)
IgnoreClient(clients[i]);
}
@@ -408,7 +408,7 @@ void glxResumeClients(void)
glxBlockClients = FALSE;
for (i = 1; i < currentMaxClients; i++) {
- if (glxGetClient(clients[i])->inUse)
+ if (clients[i] && glxGetClient(clients[i])->inUse)
AttendClient(clients[i]);
}
More information about the xorg-commit
mailing list