diff --git a/Xext/shm.c b/Xext/shm.c index 2f9a78808..4168951c4 100644 --- a/Xext/shm.c +++ b/Xext/shm.c @@ -650,9 +650,8 @@ ProcShmGetImage(ClientPtr client) wBorderWidth((WindowPtr) pDraw) + (int) pDraw->height) return BadMatch; visual = wVisual(((WindowPtr) pDraw)); - pVisibleRegion = NotClippedByChildren((WindowPtr) pDraw); - if (pVisibleRegion) - RegionTranslate(pVisibleRegion, -pDraw->x, -pDraw->y); + if (pDraw->type == DRAWABLE_WINDOW) + pVisibleRegion = &((WindowPtr) pDraw)->borderClip; } else { if (stuff->x < 0 || @@ -715,9 +714,6 @@ ProcShmGetImage(ClientPtr client) } } - if (pVisibleRegion) - RegionDestroy(pVisibleRegion); - if (client->swapped) { swaps(&xgi.sequenceNumber); swapl(&xgi.length);