fixed screenblt for ms client

ulab-original
jsorg71 20 years ago
parent 7ad0525527
commit 54db1e6409

@ -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;
}

@ -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

@ -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;
}

@ -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;
}

Loading…
Cancel
Save