summaryrefslogtreecommitdiffstats
path: root/xrdp/xrdp_painter.c
diff options
context:
space:
mode:
Diffstat (limited to 'xrdp/xrdp_painter.c')
-rw-r--r--xrdp/xrdp_painter.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/xrdp/xrdp_painter.c b/xrdp/xrdp_painter.c
index 3800277c..a8d48572 100644
--- a/xrdp/xrdp_painter.c
+++ b/xrdp/xrdp_painter.c
@@ -486,8 +486,8 @@ xrdp_painter_copy(struct xrdp_painter* self,
int bitmap_id;
int cache_id;
int cache_idx;
- int walkx;
- int walky;
+ int dstx;
+ int dsty;
int w;
int h;
@@ -540,8 +540,6 @@ xrdp_painter_copy(struct xrdp_painter* self,
i = srcx;
while (i < src->width)
{
- walkx = x + i;
- walky = y + j;
w = MIN(64, src->width - i);
h = MIN(64, src->height - j);
b = xrdp_bitmap_create(w, h, self->wm->screen->bpp, 0, self->wm);
@@ -549,16 +547,18 @@ xrdp_painter_copy(struct xrdp_painter* self,
bitmap_id = xrdp_cache_add_bitmap(self->wm->cache, b);
cache_id = HIWORD(bitmap_id);
cache_idx = LOWORD(bitmap_id);
+ dstx = (x + i) - srcx;
+ dsty = (y + j) - srcy;
k = 0;
while (xrdp_region_get_rect(region, k, &rect1) == 0)
{
if (rect_intersect(&rect1, &clip_rect, &rect2))
{
- MAKERECT(rect1, walkx, walky, w, h);
+ MAKERECT(rect1, dstx, dsty, w, h);
if (rect_intersect(&rect2, &rect1, &draw_rect))
{
libxrdp_orders_mem_blt(self->session, cache_id, palette_id,
- walkx, walky, w, h, self->rop, 0, 0,
+ dstx, dsty, w, h, self->rop, 0, 0,
cache_idx, &draw_rect);
}
}