From 54db1e64098f234717a2f5d193708f24b0f31e0f Mon Sep 17 00:00:00 2001 From: jsorg71 Date: Sun, 10 Jul 2005 00:24:42 +0000 Subject: [PATCH] fixed screenblt for ms client --- xrdp/xrdp.c | 6 +++--- xrdp/xrdp.h | 2 +- xrdp/xrdp_interface.c | 4 ++-- xrdp/xrdp_painter.c | 8 ++++---- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/xrdp/xrdp.c b/xrdp/xrdp.c index 166ecf55..f798bea6 100644 --- a/xrdp/xrdp.c +++ b/xrdp/xrdp.c @@ -116,10 +116,10 @@ main(int argc, char** argv) #endif g_threadid = g_get_threadid(); g_listen = xrdp_listen_create(); - g_signal(2, xrdp_shutdown); - g_signal(9, xrdp_shutdown); + g_signal(2, xrdp_shutdown); /* SIGINT */ + g_signal(9, xrdp_shutdown); /* SIGKILL */ g_signal(13, pipe_sig); /* sig pipe */ - g_signal(15, xrdp_shutdown); + g_signal(15, xrdp_shutdown); /* SIGTERM */ xrdp_listen_main_loop(g_listen); return 0; } diff --git a/xrdp/xrdp.h b/xrdp/xrdp.h index 3321909f..c37a8e06 100644 --- a/xrdp/xrdp.h +++ b/xrdp/xrdp.h @@ -226,7 +226,7 @@ xrdp_painter_copy(struct xrdp_painter* self, struct xrdp_bitmap* src, struct xrdp_bitmap* dst, int x, int y, int cx, int cy, - int srcx, int srcy, int opcode); + int srcx, int srcy); /* xrdp_font.c */ struct xrdp_font* APP_CC diff --git a/xrdp/xrdp_interface.c b/xrdp/xrdp_interface.c index 874845b3..88011c1b 100644 --- a/xrdp/xrdp_interface.c +++ b/xrdp/xrdp_interface.c @@ -130,8 +130,8 @@ server_screen_blt(struct xrdp_mod* mod, int x, int y, int cx, int cy, wm = (struct xrdp_wm*)mod->wm; p = (struct xrdp_painter*)mod->painter; - xrdp_painter_copy(p, wm->screen, wm->screen, x, y, cx, cy, - srcx, srcy, 12); + p->rop = 0xcc; + xrdp_painter_copy(p, wm->screen, wm->screen, x, y, cx, cy, srcx, srcy); return 0; } diff --git a/xrdp/xrdp_painter.c b/xrdp/xrdp_painter.c index 44ea52fa..f9e2630b 100644 --- a/xrdp/xrdp_painter.c +++ b/xrdp/xrdp_painter.c @@ -31,7 +31,7 @@ xrdp_painter_create(struct xrdp_wm* wm, struct xrdp_session* session) self = (struct xrdp_painter*)g_malloc(sizeof(struct xrdp_painter), 1); self->wm = wm; self->session = session; - self->rop = 0xcc; /* copy */ + self->rop = 0xcc; /* copy gota use 0xcc*/ self->clip_children = 1; return self; } @@ -621,7 +621,7 @@ xrdp_painter_copy(struct xrdp_painter* self, struct xrdp_bitmap* src, struct xrdp_bitmap* dst, int x, int y, int cx, int cy, - int srcx, int srcy, int opcode) + int srcx, int srcy) { if (self == 0 || src == 0 || dst == 0) { @@ -634,10 +634,10 @@ xrdp_painter_copy(struct xrdp_painter* self, { return 0; } - if (src == dst && opcode == 12 && src->wm->screen == src) + if (src == dst && src->wm->screen == src) { libxrdp_orders_screen_blt(dst->wm->session, x, y, cx, cy, - srcx, srcy, 12, 0); + srcx, srcy, self->rop, 0); } return 0; }