gtkhtml r8764 - trunk/gtkhtml
- From: sragavan svn gnome org
- To: svn-commits-list gnome org
- Subject: gtkhtml r8764 - trunk/gtkhtml
- Date: Sun, 2 Mar 2008 17:05:43 +0000 (GMT)
Author: sragavan
Date: Sun Mar 2 17:05:42 2008
New Revision: 8764
URL: http://svn.gnome.org/viewvc/gtkhtml?rev=8764&view=rev
Log:
2008-03-02 Srinivasa Ragavan <sragavan novell com>
** Fix for bug #519463 from Tor Lillqvist
* gtkhtml.c: (utf16_order), (utf16_to_utf8_with_bom_check),
(drag_data_get), (clipboard_paste_received_cb): treat pasted non-UTF-8
data as UTF-16 and not UCS-2
Modified:
trunk/gtkhtml/ChangeLog
trunk/gtkhtml/gtkhtml.c
Modified: trunk/gtkhtml/gtkhtml.c
==============================================================================
--- trunk/gtkhtml/gtkhtml.c (original)
+++ trunk/gtkhtml/gtkhtml.c Sun Mar 2 17:05:42 2008
@@ -2072,7 +2072,7 @@
/* X11 selection support. */
static char *
-ucs2_order (gboolean swap)
+utf16_order (gboolean swap)
{
gboolean be;
@@ -2087,9 +2087,9 @@
be = swap ? be : !be;
if (be)
- return "UCS-2BE";
+ return "UTF-16BE";
else
- return "UCS-2LE";
+ return "UTF-16LE";
}
@@ -2164,7 +2164,7 @@
}
static gchar *
-ucs2_to_utf8_with_bom_check (guchar *data, guint len) {
+utf16_to_utf8_with_bom_check (guchar *data, guint len) {
char *fromcode = NULL;
GError *error = NULL;
guint16 c;
@@ -2183,12 +2183,12 @@
switch (c) {
case 0xfeff:
case 0xfffe:
- fromcode = ucs2_order (c == 0xfeff);
+ fromcode = utf16_order (c == 0xfeff);
data += 2;
len -= 2;
break;
default:
- fromcode = "UCS-2";
+ fromcode = "UTF-16";
break;
}
@@ -2419,12 +2419,12 @@
complete_url = g_strconcat (url, target && *target ? "#" : NULL, target, NULL);
if (info == DND_TARGET_TYPE_MOZILLA_URL) {
- /* MOZ_URL is in UCS-2 but in format 8. BROKEN!
+ /* MOZ_URL is in UTF-16 but in format 8. BROKEN!
*
* The data contains the URL, a \n, then the
* title of the web page.
*/
- char *ucs2;
+ char *utf16;
char *utf8;
gsize written_len;
@@ -2438,12 +2438,12 @@
} else
utf8 = g_strconcat (complete_url, "\n", complete_url, NULL);
- ucs2 = g_convert (utf8, strlen (utf8), "UCS-2", "UTF-8", NULL, &written_len, NULL);
+ utf16 = g_convert (utf8, strlen (utf8), "UTF-16", "UTF-8", NULL, &written_len, NULL);
gtk_selection_data_set (selection_data, selection_data->target, 8,
- (guchar *) ucs2, written_len);
+ (guchar *) utf16, written_len);
g_free (utf8);
g_free (complete_url);
- GTK_HTML (widget)->priv->dnd_url = ucs2;
+ GTK_HTML (widget)->priv->dnd_url = utf16;
} else {
gtk_selection_data_set (selection_data, selection_data->target, 8,
(guchar *) complete_url, strlen (complete_url));
@@ -4249,7 +4249,7 @@
if (type == gdk_atom_intern (selection_targets[TARGET_HTML].target, FALSE)) {
if (selection_data->length > 1 &&
!g_utf8_validate ((const gchar *) selection_data->data, selection_data->length - 1, NULL)) {
- utf8 = ucs2_to_utf8_with_bom_check (selection_data->data, selection_data->length);
+ utf8 = utf16_to_utf8_with_bom_check (selection_data->data, selection_data->length);
} else {
utf8 = g_strndup ((const gchar *) selection_data->data, selection_data->length);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]