AIGLX/DRI1: Switch to server context for calling pScreen->GetImage.
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=16292 .
This commit is contained in:
parent
d15b379030
commit
23b55a61f8
|
@ -485,9 +485,11 @@ nooverride:
|
||||||
|
|
||||||
data = xalloc(pitch * pixmap->drawable.height);
|
data = xalloc(pitch * pixmap->drawable.height);
|
||||||
|
|
||||||
|
__glXenterServer(GL_FALSE);
|
||||||
pScreen->GetImage(&pixmap->drawable, 0 /*pixmap->drawable.x*/,
|
pScreen->GetImage(&pixmap->drawable, 0 /*pixmap->drawable.x*/,
|
||||||
0 /*pixmap->drawable.y*/, pixmap->drawable.width,
|
0 /*pixmap->drawable.y*/, pixmap->drawable.width,
|
||||||
pixmap->drawable.height, ZPixmap, ~0, data);
|
pixmap->drawable.height, ZPixmap, ~0, data);
|
||||||
|
__glXleaveServer(GL_FALSE);
|
||||||
|
|
||||||
if (pixmap->drawable.depth == 24)
|
if (pixmap->drawable.depth == 24)
|
||||||
glxFillAlphaChannel(data,
|
glxFillAlphaChannel(data,
|
||||||
|
@ -529,9 +531,11 @@ nooverride:
|
||||||
pixmap->drawable.depth);
|
pixmap->drawable.depth);
|
||||||
void *data = xalloc(pitch * (p[i].y2 - p[i].y1));
|
void *data = xalloc(pitch * (p[i].y2 - p[i].y1));
|
||||||
|
|
||||||
|
__glXenterServer(GL_FALSE);
|
||||||
pScreen->GetImage(&pixmap->drawable, /*pixmap->drawable.x +*/ p[i].x1,
|
pScreen->GetImage(&pixmap->drawable, /*pixmap->drawable.x +*/ p[i].x1,
|
||||||
/*pixmap->drawable.y*/ + p[i].y1, p[i].x2 - p[i].x1,
|
/*pixmap->drawable.y*/ + p[i].y1, p[i].x2 - p[i].x1,
|
||||||
p[i].y2 - p[i].y1, ZPixmap, ~0, data);
|
p[i].y2 - p[i].y1, ZPixmap, ~0, data);
|
||||||
|
__glXleaveServer(GL_FALSE);
|
||||||
|
|
||||||
if (pixmap->drawable.depth == 24)
|
if (pixmap->drawable.depth == 24)
|
||||||
glxFillAlphaChannel(data,
|
glxFillAlphaChannel(data,
|
||||||
|
|
Loading…
Reference in New Issue
Block a user