GUAC-1164: Do not send clipboard notification to RDP server if RDP server is not connected.
This commit is contained in:
parent
7c3d108e21
commit
0fb8a49e62
@ -286,24 +286,31 @@ int guac_rdp_clipboard_end_handler(guac_user* user, guac_stream* stream) {
|
|||||||
|
|
||||||
guac_client* client = user->client;
|
guac_client* client = user->client;
|
||||||
guac_rdp_client* rdp_client = (guac_rdp_client*) client->data;
|
guac_rdp_client* rdp_client = (guac_rdp_client*) client->data;
|
||||||
rdpChannels* channels = rdp_client->rdp_inst->context->channels;
|
|
||||||
|
|
||||||
RDP_CB_FORMAT_LIST_EVENT* format_list =
|
|
||||||
(RDP_CB_FORMAT_LIST_EVENT*) freerdp_event_new(
|
|
||||||
CliprdrChannel_Class,
|
|
||||||
CliprdrChannel_FormatList,
|
|
||||||
NULL, NULL);
|
|
||||||
|
|
||||||
/* Terminate clipboard data with NULL */
|
/* Terminate clipboard data with NULL */
|
||||||
guac_common_clipboard_append(rdp_client->clipboard, "", 1);
|
guac_common_clipboard_append(rdp_client->clipboard, "", 1);
|
||||||
|
|
||||||
/* Notify server that text data is now available */
|
/* Notify RDP server of new data, if connected */
|
||||||
format_list->formats = (UINT32*) malloc(sizeof(UINT32) * 2);
|
freerdp* rdp_inst = rdp_client->rdp_inst;
|
||||||
format_list->formats[0] = CB_FORMAT_TEXT;
|
if (rdp_inst != NULL) {
|
||||||
format_list->formats[1] = CB_FORMAT_UNICODETEXT;
|
|
||||||
format_list->num_formats = 2;
|
|
||||||
|
|
||||||
freerdp_channels_send_event(channels, (wMessage*) format_list);
|
rdpChannels* channels = rdp_inst->context->channels;
|
||||||
|
|
||||||
|
RDP_CB_FORMAT_LIST_EVENT* format_list =
|
||||||
|
(RDP_CB_FORMAT_LIST_EVENT*) freerdp_event_new(
|
||||||
|
CliprdrChannel_Class,
|
||||||
|
CliprdrChannel_FormatList,
|
||||||
|
NULL, NULL);
|
||||||
|
|
||||||
|
/* Notify server that text data is now available */
|
||||||
|
format_list->formats = (UINT32*) malloc(sizeof(UINT32) * 2);
|
||||||
|
format_list->formats[0] = CB_FORMAT_TEXT;
|
||||||
|
format_list->formats[1] = CB_FORMAT_UNICODETEXT;
|
||||||
|
format_list->num_formats = 2;
|
||||||
|
|
||||||
|
freerdp_channels_send_event(channels, (wMessage*) format_list);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user