uxa_get_image in uxa-accel.c x/y wrong use. [Box.x1 = pDrawable->y + x + xoff]- > [Box.x1 = pDrawable->x + x + xoff]
`void uxa_get_image(DrawablePtr pDrawable, int x, int y, int w, int h, unsigned int format, unsigned long planeMask, char *d) { ScreenPtr screen = pDrawable->pScreen; uxa_screen_t *uxa_screen = uxa_get_screen(screen); BoxRec Box; PixmapPtr pPix = uxa_get_drawable_pixmap(pDrawable); int xoff, yoff; Bool ok; RegionRec region;
uxa_get_drawable_deltas(pDrawable, pPix, &xoff, &yoff);
Box.x1 = pDrawable->y + x + xoff; // the pDrawable->y is wrong here, use pDrawable->x instead
Box.y1 = pDrawable->y + y + yoff;`
Edited by xuying