summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjsorg71 <jsorg71>2005-07-10 00:24:42 +0000
committerjsorg71 <jsorg71>2005-07-10 00:24:42 +0000
commit54db1e64098f234717a2f5d193708f24b0f31e0f (patch)
tree990e9425d80222fd2d46bbb048887005d2b29c22
parent7ad052552763f883ff00d59d077b6f552b3a200a (diff)
downloadxrdp-proprietary-54db1e64098f234717a2f5d193708f24b0f31e0f.tar.gz
xrdp-proprietary-54db1e64098f234717a2f5d193708f24b0f31e0f.zip
fixed screenblt for ms client
-rw-r--r--xrdp/xrdp.c6
-rw-r--r--xrdp/xrdp.h2
-rw-r--r--xrdp/xrdp_interface.c4
-rw-r--r--xrdp/xrdp_painter.c8
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;
}