summaryrefslogtreecommitdiff
path: root/glx
diff options
context:
space:
mode:
authorMichel Dänzer <michel@tungstengraphics.com>2008-06-13 11:13:56 +0200
committerMichel Dänzer <michel@tungstengraphics.com>2008-06-13 11:13:56 +0200
commit23b55a61f89f69454a3b0e3413b1f07d5fdf43aa (patch)
tree99f242dc1b4b8363ce922facdc76302617c1194b /glx
parentd15b3790307053587df8daed1936ff6923881b63 (diff)
AIGLX/DRI1: Switch to server context for calling pScreen->GetImage.
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=16292 .
Diffstat (limited to 'glx')
-rw-r--r--glx/glxdri.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/glx/glxdri.c b/glx/glxdri.c
index 43b0523f3..a87ff13ce 100644
--- a/glx/glxdri.c
+++ b/glx/glxdri.c
@@ -485,9 +485,11 @@ nooverride:
data = xalloc(pitch * pixmap->drawable.height);
+ __glXenterServer(GL_FALSE);
pScreen->GetImage(&pixmap->drawable, 0 /*pixmap->drawable.x*/,
0 /*pixmap->drawable.y*/, pixmap->drawable.width,
pixmap->drawable.height, ZPixmap, ~0, data);
+ __glXleaveServer(GL_FALSE);
if (pixmap->drawable.depth == 24)
glxFillAlphaChannel(data,
@@ -529,9 +531,11 @@ nooverride:
pixmap->drawable.depth);
void *data = xalloc(pitch * (p[i].y2 - p[i].y1));
+ __glXenterServer(GL_FALSE);
pScreen->GetImage(&pixmap->drawable, /*pixmap->drawable.x +*/ p[i].x1,
/*pixmap->drawable.y*/ + p[i].y1, p[i].x2 - p[i].x1,
p[i].y2 - p[i].y1, ZPixmap, ~0, data);
+ __glXleaveServer(GL_FALSE);
if (pixmap->drawable.depth == 24)
glxFillAlphaChannel(data,