diff --git a/hw/xwayland/xwayland-window-buffers.c b/hw/xwayland/xwayland-window-buffers.c index 62999091d..22fef3ffd 100644 --- a/hw/xwayland/xwayland-window-buffers.c +++ b/hw/xwayland/xwayland-window-buffers.c @@ -286,8 +286,10 @@ xwl_window_buffers_get_pixmap(struct xwl_window *xwl_window, while (nBox--) { if (!copy_pixmap_area(window_pixmap, xwl_window_buffer->pixmap, - pBox->x1, pBox->y1, - pBox->x2 - pBox->x1, pBox->y2 - pBox->y1)) + pBox->x1 + xwl_window->window->borderWidth, + pBox->y1 + xwl_window->window->borderWidth, + pBox->x2 - pBox->x1, + pBox->y2 - pBox->y1)) return window_pixmap; pBox++; diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c index 54a1fdac0..686b259df 100644 --- a/hw/xwayland/xwayland.c +++ b/hw/xwayland/xwayland.c @@ -1163,13 +1163,16 @@ xwl_window_post_damage(struct xwl_window *xwl_window) */ if (RegionNumRects(region) > 256) { box = RegionExtents(region); - xwl_surface_damage(xwl_screen, xwl_window->surface, box->x1, box->y1, + xwl_surface_damage(xwl_screen, xwl_window->surface, + box->x1 + xwl_window->window->borderWidth, + box->y1 + xwl_window->window->borderWidth, box->x2 - box->x1, box->y2 - box->y1); } else { box = RegionRects(region); for (i = 0; i < RegionNumRects(region); i++, box++) { xwl_surface_damage(xwl_screen, xwl_window->surface, - box->x1, box->y1, + box->x1 + xwl_window->window->borderWidth, + box->y1 + xwl_window->window->borderWidth, box->x2 - box->x1, box->y2 - box->y1); } }