diff options
author | Jay Sorg <jay.sorg@gmail.com> | 2012-11-03 18:47:04 -0700 |
---|---|---|
committer | Jay Sorg <jay.sorg@gmail.com> | 2012-11-03 18:47:04 -0700 |
commit | 900d66dc6e3541f52a884e0755d903cde7ce90ef (patch) | |
tree | 559ecb17d8db04ef4ffb2df79077b1e63459b747 /sesman/chansrv/clipboard.c | |
parent | cdb039080f47ee31e97dcb88591e8194e03f3878 (diff) | |
download | xrdp-proprietary-900d66dc6e3541f52a884e0755d903cde7ce90ef.tar.gz xrdp-proprietary-900d66dc6e3541f52a884e0755d903cde7ce90ef.zip |
chansrv: work on clipboard file copy paste
Diffstat (limited to 'sesman/chansrv/clipboard.c')
-rw-r--r-- | sesman/chansrv/clipboard.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/sesman/chansrv/clipboard.c b/sesman/chansrv/clipboard.c index 3963cfef..9a2ab708 100644 --- a/sesman/chansrv/clipboard.c +++ b/sesman/chansrv/clipboard.c @@ -205,7 +205,6 @@ clipboard_init(void) fuse_init(); xcommon_init(); - clipboard_deinit(); g_incr_max_req_size = XMaxRequestSize(g_display) * 4 - 24; g_memset(&g_clip_c2s, 0, sizeof(g_clip_c2s)); g_memset(&g_clip_s2c, 0, sizeof(g_clip_s2c)); @@ -843,6 +842,7 @@ clipboard_process_format_announce(struct stream *s, int clip_msg_status, int count; int bytes; int got_file; + int file_format_id; char desc[256]; char *holdp; @@ -853,6 +853,7 @@ clipboard_process_format_announce(struct stream *s, int clip_msg_status, desc[0] = 0; g_num_formatIds = 0; got_file = 0; + file_format_id = 0; while (clip_msg_len > 3) { in_uint32_le(s, formatId); @@ -884,9 +885,12 @@ clipboard_process_format_announce(struct stream *s, int clip_msg_status, { LLOGLN(10, ("clipboard_process_format_announce: max formats")); } - if (formatId == 0x0000c0c8) + //if (formatId == 0x0000c0c8) + //if (formatId == 0x0000c0ed) + if (g_strcmp(desc, "FileGroupDescriptorW") == 0) { got_file = 1; + file_format_id = formatId; } } @@ -894,7 +898,9 @@ clipboard_process_format_announce(struct stream *s, int clip_msg_status, { LLOGLN(0, ("clipboard_process_format_announce: sending file list request")); g_clip_c2s.xrdp_clip_type = XRDP_CB_FILE; - clipboard_send_data_request(0x0000c0c8); + //clipboard_send_data_request(0x0000c0c8); + //clipboard_send_data_request(0x0000c0ed); + clipboard_send_data_request(file_format_id); return 0; } |