glamor: Fix temporary pixmap coordinate offsets

The previous values happened to work in basic cases, but not in general
if the destination is a subwindow or has a border.

Fixes crash with xli, which moves a large subwindow inside a smaller
parent window for scrolling.

No regressions with xterm, x11perf -copyplane or the xscreensaver
phosphor hack.

Bug: https://bugs.debian.org/857983
Reviewed-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
Michel Dänzer 2017-06-06 18:42:06 +09:00 committed by Michel Dänzer
parent d4995a3936
commit ffda82ed04

View File

@ -230,8 +230,8 @@ glamor_copy_cpu_fbo(DrawablePtr src,
goto bail;
}
src_pix->drawable.x = -dst->x;
src_pix->drawable.y = -dst->y;
src_pix->drawable.x = dst_xoff;
src_pix->drawable.y = dst_yoff;
fbGetDrawable(&src_pix->drawable, src_bits, src_stride, src_bpp, src_xoff,
src_yoff);