From 58e868f49030680d46cc9ca09ab11046d1cac1bf Mon Sep 17 00:00:00 2001 From: Giovanni Panozzo Date: Fri, 15 Aug 2014 00:19:36 +0200 Subject: Fix clipboard problems --- remmina-plugins/rdp/rdp_cliprdr.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'remmina-plugins/rdp') diff --git a/remmina-plugins/rdp/rdp_cliprdr.c b/remmina-plugins/rdp/rdp_cliprdr.c index 42f51f7ba..84f938a24 100644 --- a/remmina-plugins/rdp/rdp_cliprdr.c +++ b/remmina-plugins/rdp/rdp_cliprdr.c @@ -269,9 +269,9 @@ void remmina_rdp_cliprdr_process_data_response(RemminaProtocolWidget* gp, RDP_CB pixbuf = gdk_pixbuf_loader_new(); gdk_pixbuf_loader_write(pixbuf, data, size, NULL); + gdk_pixbuf_loader_close(pixbuf, NULL); Stream_Free(s, TRUE); output = g_object_ref(gdk_pixbuf_loader_get_pixbuf(pixbuf)); - gdk_pixbuf_loader_close(pixbuf, NULL); g_object_unref(pixbuf); break; } @@ -373,14 +373,18 @@ int remmina_rdp_cliprdr_send_format_list(RemminaProtocolWidget* gp, RemminaPlugi result = gtk_clipboard_wait_for_targets(clipboard, &targets, &count); } - if (!result) - return 0; event = (RDP_CB_FORMAT_LIST_EVENT*) freerdp_event_new(CliprdrChannel_Class, CliprdrChannel_FormatList, NULL, NULL); - remmina_rdp_cliprdr_get_target_types(&event->formats, &event->num_formats, targets, count); - g_free(targets); + if (result) + { + remmina_rdp_cliprdr_get_target_types(&event->formats, &event->num_formats, targets, count); + g_free(targets); + } + else + event->num_formats = 0; + return freerdp_channels_send_event(rfi->instance->context->channels, (wMessage*) event); } -- cgit v1.2.3