diff options
author | Michel Dänzer <michel@tungstengraphics.com> | 2008-06-13 11:13:56 +0200 |
---|---|---|
committer | Michel Dänzer <michel@tungstengraphics.com> | 2008-06-13 11:13:56 +0200 |
commit | 23b55a61f89f69454a3b0e3413b1f07d5fdf43aa (patch) | |
tree | 99f242dc1b4b8363ce922facdc76302617c1194b /glx/glxdri.c | |
parent | d15b3790307053587df8daed1936ff6923881b63 (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/glxdri.c')
-rw-r--r-- | glx/glxdri.c | 4 |
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, |