Mercurial > pidgin
changeset 8869:ab5a46dd132a
[gaim-migrate @ 9637]
Copy/paste fixes for UCS-2 encoded selections
committer: Tailor Script <tailor@pidgin.im>
author | Ethan Blanton <elb@pidgin.im> |
---|---|
date | Tue, 04 May 2004 06:08:47 +0000 |
parents | db80183f251c |
children | 9e33e1fa6c97 |
files | ChangeLog src/gtkimhtml.c |
diffstat | 2 files changed, 6 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Mon May 03 18:34:08 2004 +0000 +++ b/ChangeLog Tue May 04 06:08:47 2004 +0000 @@ -22,6 +22,7 @@ * Gtk2.0 compatibility fixes (Tim Ringenbach) * Updated and standardized blist signals (Gary Kramlich) * More doxygen fixes (Jonathan Champ) + * Copy/paste encoding fixes (Joe Marcus Clarke) version 0.77 (04/22/2004): New Features:
--- a/src/gtkimhtml.c Mon May 03 18:34:08 2004 +0000 +++ b/src/gtkimhtml.c Tue May 04 06:08:47 2004 +0000 @@ -689,7 +689,6 @@ static void paste_received_cb (GtkClipboard *clipboard, GtkSelectionData *selection_data, gpointer data) { char *text; - guint16 c; GtkIMHtml *imhtml = data; GtkTextIter iter; GtkIMHtmlOptions flags = GTK_IMHTML_NO_NEWLINE; @@ -761,14 +760,14 @@ memcpy(text, selection_data->data, selection_data->length); } - memcpy (&c, text, 2); - if (c == 0xfeff) { - /* This is UCS2 */ - char *utf8 = g_convert(text+2, selection_data->length - 2, "UTF-8", "UCS-2", NULL, NULL, NULL); + if (selection_data->length >= 2 && + (*(guint16 *)text == 0xfeff || *(guint16 *)text == 0xfffe)) { + /* This is UCS-2 */ + char *utf8 = g_convert(text, selection_data->length, "UTF-8", "UCS-2", NULL, NULL, NULL); g_free(text); text = utf8; if (!text) { - gaim_debug_warning("gtkimhtml", "g_convert failed in paste_received_cb\n"); + gaim_debug_warning("gtkimhtml", "g_convert from UCS-2 failed in paste_received_cb\n"); return; } }