xorg-server: Changes to 'ubuntu'
debian/patches/179_glx_cleanup_drawables.patch | 45 +++++++++++++++++++++++++
debian/patches/series | 1
2 files changed, 46 insertions(+)
New commits:
commit 7a73233990c99b96c0e4db5f7ef46b5432b44fd2
Author: Bryce Harrington <bryce@bryceharrington.org>
Date: Tue Aug 4 01:52:16 2009 -0700
Add patch 179 as well
diff --git a/debian/patches/179_glx_cleanup_drawables.patch b/debian/patches/179_glx_cleanup_drawables.patch
new file mode 100644
index 0000000..b959569
--- /dev/null
+++ b/debian/patches/179_glx_cleanup_drawables.patch
@@ -0,0 +1,45 @@
+commit 3020b1d43e34fca08cd51f7c7c8ed51497d49ef3
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Tue Jun 23 16:45:40 2009 +0200
+
+ glx: Clean up more thoroughly if the drawable of a current context goes away.
+
+ Fixes crash when restarting compiz, due to cl->currentContexts[x] being stale.
+
+diff --git a/glx/glxext.c b/glx/glxext.c
+index 520eb2e..a571ec9 100644
+--- a/glx/glxext.c
++++ b/glx/glxext.c
+@@ -128,8 +128,31 @@ static Bool DrawableGone(__GLXdrawable *glxPriv, XID xid)
+
+ for (c = glxAllContexts; c; c = c->next) {
+ if (c->isCurrent && (c->drawPriv == glxPriv || c->readPriv == glxPriv)) {
++ int i;
++
+ (*c->loseCurrent)(c);
+- __glXFlushContextCache();
++ c->isCurrent = GL_FALSE;
++ if (c == __glXLastContext)
++ __glXFlushContextCache();
++
++ for (i = 1; i < currentMaxClients; i++) {
++ if (clients[i]) {
++ __GLXclientState *cl = glxGetClient(clients[i]);
++
++ if (cl->inUse) {
++ int j;
++
++ for (j = 0; j < cl->numCurrentContexts; j++) {
++ if (cl->currentContexts[j] == c)
++ cl->currentContexts[j] = NULL;
++ }
++ }
++ }
++ }
++
++ if (!c->idExists) {
++ __glXFreeContext(c);
++ }
+ }
+ if (c->drawPriv == glxPriv)
+ c->drawPriv = NULL;
diff --git a/debian/patches/series b/debian/patches/series
index 43496f5..4c07c9b 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -33,3 +33,4 @@ fedora-pci-primary.diff
174_set_bg_pixmap_of_cow_to_none.patch
177_animated_cursor_change_master.patch
178_glx_flush_cache.patch
+179_glx_cleanup_drawables.patch
Reply to: