Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/Remmina/Remmina.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiovanni Panozzo <giovanni@panozzo.it>2014-08-15 02:19:36 +0400
committerGiovanni Panozzo <giovanni@panozzo.it>2014-08-15 02:19:36 +0400
commit58e868f49030680d46cc9ca09ab11046d1cac1bf (patch)
treef10044f6419eb03a5f115376344c85077149717a /remmina-plugins/rdp
parent0ee267290f3c7b7fc69c26f16348cb66e4afe6ea (diff)
Fix clipboard problems
Diffstat (limited to 'remmina-plugins/rdp')
-rw-r--r--remmina-plugins/rdp/rdp_cliprdr.c14
1 files changed, 9 insertions, 5 deletions
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);
}