diff options
author | Giovanni Panozzo <giovanni@panozzo.it> | 2022-12-26 14:42:01 +0300 |
---|---|---|
committer | Giovanni Panozzo <giovanni@panozzo.it> | 2022-12-26 20:37:09 +0300 |
commit | 58205163923326ec39f23b869e2a6b69ec0c917d (patch) | |
tree | e18518c27d8bec1323e948b7e2cefca8665ebc39 /plugins | |
parent | 1553e15df640fc7fde49299b370c740dcf700941 (diff) |
Add mime text formats for RDP clibpoard
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/rdp/rdp_cliprdr.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/plugins/rdp/rdp_cliprdr.c b/plugins/rdp/rdp_cliprdr.c index 75938275d..a39e4f4c7 100644 --- a/plugins/rdp/rdp_cliprdr.c +++ b/plugins/rdp/rdp_cliprdr.c @@ -280,14 +280,20 @@ static UINT remmina_rdp_cliprdr_server_format_list(CliprdrClientContext *context gchar *gtkFormatName = NULL; if (format->formatId == CF_UNICODETEXT) { serverFormatName = "CF_UNICODETEXT"; - gtkFormatName = "UTF8_STRING"; + gtkFormatName = "text/plain;charset=utf-8"; GdkAtom atom = gdk_atom_intern(gtkFormatName, TRUE); gtk_target_list_add(list, atom, 0, CF_UNICODETEXT); + /* Add also the older UTF8_STRING format for older applications */ + atom = gdk_atom_intern("UTF8_STRING", TRUE); + gtk_target_list_add(list, atom, 0, CF_UNICODETEXT); } else if (format->formatId == CF_TEXT) { serverFormatName = "CF_TEXT"; - gtkFormatName = "TEXT"; + gtkFormatName = "text/plain"; GdkAtom atom = gdk_atom_intern(gtkFormatName, TRUE); gtk_target_list_add(list, atom, 0, CF_TEXT); + /* Add also the older TEXT format for older applications */ + atom = gdk_atom_intern("TEXT", TRUE); + gtk_target_list_add(list, atom, 0, CF_TEXT); } else if (format->formatId == CF_DIB) { serverFormatName = "CF_DIB"; if (has_dib_level < 1) @@ -360,7 +366,7 @@ static UINT remmina_rdp_cliprdr_server_format_list(CliprdrClientContext *context gtk_target_table_free(target_table, n_targets); if (n_targets == 0) { REMMINA_PLUGIN_DEBUG("gp=%p adding a dummy text target (empty text) for local clipboard, because we have no interesting targets from the server. Putting it in the local clipboard cache."); - GdkAtom atom = gdk_atom_intern("UTF8_STRING", TRUE); + GdkAtom atom = gdk_atom_intern("text/plain;charset=utf-8", TRUE); gtk_target_list_add(list, atom, 0, CF_UNICODETEXT); pthread_mutex_lock(&clipboard->srv_data_mutex); clipboard->srv_data = malloc(1); |