summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-im/gaim/Makefile1
-rw-r--r--net-im/gaim/files/patch-src-gtkimhtml32
-rw-r--r--net/gaim/Makefile1
-rw-r--r--net/gaim/files/patch-src-gtkimhtml32
4 files changed, 62 insertions, 4 deletions
diff --git a/net-im/gaim/Makefile b/net-im/gaim/Makefile
index 105a48e99ac9..a0dcea02f99b 100644
--- a/net-im/gaim/Makefile
+++ b/net-im/gaim/Makefile
@@ -6,6 +6,7 @@
PORTNAME= gaim
PORTVERSION= 0.77
+PORTREVISION= 1
CATEGORIES?= net
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= ${PORTNAME}
diff --git a/net-im/gaim/files/patch-src-gtkimhtml b/net-im/gaim/files/patch-src-gtkimhtml
index f5b06e9f1f43..4bf981d8a39c 100644
--- a/net-im/gaim/files/patch-src-gtkimhtml
+++ b/net-im/gaim/files/patch-src-gtkimhtml
@@ -1,5 +1,5 @@
---- src/gtkimhtml.c.orig Fri Apr 23 04:24:05 2004
-+++ src/gtkimhtml.c Sat Apr 24 05:37:14 2004
+--- src/gtkimhtml.c.orig Tue May 4 18:09:10 2004
++++ src/gtkimhtml.c Tue May 4 18:09:12 2004
@@ -542,10 +542,11 @@
GtkTextIter start, end;
GtkTextMark *sel = gtk_text_buffer_get_selection_bound(imhtml->text_buffer);
@@ -14,3 +14,31 @@
if (info == TARGET_HTML) {
int len;
+@@ -684,7 +685,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;
+@@ -756,14 +756,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;
+ }
+ }
diff --git a/net/gaim/Makefile b/net/gaim/Makefile
index 105a48e99ac9..a0dcea02f99b 100644
--- a/net/gaim/Makefile
+++ b/net/gaim/Makefile
@@ -6,6 +6,7 @@
PORTNAME= gaim
PORTVERSION= 0.77
+PORTREVISION= 1
CATEGORIES?= net
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= ${PORTNAME}
diff --git a/net/gaim/files/patch-src-gtkimhtml b/net/gaim/files/patch-src-gtkimhtml
index f5b06e9f1f43..4bf981d8a39c 100644
--- a/net/gaim/files/patch-src-gtkimhtml
+++ b/net/gaim/files/patch-src-gtkimhtml
@@ -1,5 +1,5 @@
---- src/gtkimhtml.c.orig Fri Apr 23 04:24:05 2004
-+++ src/gtkimhtml.c Sat Apr 24 05:37:14 2004
+--- src/gtkimhtml.c.orig Tue May 4 18:09:10 2004
++++ src/gtkimhtml.c Tue May 4 18:09:12 2004
@@ -542,10 +542,11 @@
GtkTextIter start, end;
GtkTextMark *sel = gtk_text_buffer_get_selection_bound(imhtml->text_buffer);
@@ -14,3 +14,31 @@
if (info == TARGET_HTML) {
int len;
+@@ -684,7 +685,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;
+@@ -756,14 +756,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;
+ }
+ }