summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSven Wegener <swegener@gentoo.org>2004-07-31 12:32:33 +0000
committerSven Wegener <swegener@gentoo.org>2004-07-31 12:32:33 +0000
commit962f749addcc73b80b95982dd44ad7f32268009a (patch)
treea0ca67b3fed4376d2fb618fc0216f9c3c61defb6 /net-irc/xchat/files
parentAdded app-emulation/emul-linux-x86-glibc (diff)
downloadgentoo-2-962f749addcc73b80b95982dd44ad7f32268009a.tar.gz
gentoo-2-962f749addcc73b80b95982dd44ad7f32268009a.tar.bz2
gentoo-2-962f749addcc73b80b95982dd44ad7f32268009a.zip
Another revision bump for an updated tab completion patch. This should close bug #58666 (Tab completion is quirky in XChat) by David Lloyd <dmlloyd@tds.net>. Added backported patch from upstream CVS which fixes bug #56324 (xchat 2.0.10 cjk preedit string bug) by Jung Tae-young <master@mytears.org>.
Diffstat (limited to 'net-irc/xchat/files')
-rw-r--r--net-irc/xchat/files/2.0.10-preeditstring.patch23
-rw-r--r--net-irc/xchat/files/digest-xchat-2.0.10-r3 (renamed from net-irc/xchat/files/digest-xchat-2.0.10-r2)0
-rw-r--r--net-irc/xchat/files/xc2010-fixtabcomp2.diff24
-rw-r--r--net-irc/xchat/files/xc2010-fixtabcomp3.diff25
4 files changed, 48 insertions, 24 deletions
diff --git a/net-irc/xchat/files/2.0.10-preeditstring.patch b/net-irc/xchat/files/2.0.10-preeditstring.patch
new file mode 100644
index 000000000000..04e57d051cbc
--- /dev/null
+++ b/net-irc/xchat/files/2.0.10-preeditstring.patch
@@ -0,0 +1,23 @@
+===================================================================
+RCS file: /cvsroot/xchat/xchat2/src/fe-gtk/fkeys.c,v
+retrieving revision 1.37
+retrieving revision 1.38
+diff -u -r1.37 -r1.38
+--- xchat/xchat2/src/fe-gtk/fkeys.c 2004/07/30 16:06:16 1.37
++++ xchat/xchat2/src/fe-gtk/fkeys.c 2004/07/31 05:19:52 1.38
+@@ -1368,9 +1368,14 @@
+ prefix_len, skip_len = 0, is_nick, is_cmd = 0;
+ char buf[COMP_BUF], ent[CHANLEN], *postfix = NULL, *result, *ch;
+ GList *list = NULL, *tmp_list = NULL;
+- const char *text = gtk_entry_get_text (GTK_ENTRY (t));
++ const char *text;
+ GCompletion *gcomp = NULL;
+
++ /* force the IM Context to reset */
++ gtk_editable_set_editable (GTK_EDITABLE (t), FALSE);
++ gtk_editable_set_editable (GTK_EDITABLE (t), TRUE);
++
++ text = GTK_ENTRY (t)->text;
+ if (text[0] == 0)
+ return 1;
+
diff --git a/net-irc/xchat/files/digest-xchat-2.0.10-r2 b/net-irc/xchat/files/digest-xchat-2.0.10-r3
index b794a900c455..b794a900c455 100644
--- a/net-irc/xchat/files/digest-xchat-2.0.10-r2
+++ b/net-irc/xchat/files/digest-xchat-2.0.10-r3
diff --git a/net-irc/xchat/files/xc2010-fixtabcomp2.diff b/net-irc/xchat/files/xc2010-fixtabcomp2.diff
deleted file mode 100644
index 2d4d885aa46b..000000000000
--- a/net-irc/xchat/files/xc2010-fixtabcomp2.diff
+++ /dev/null
@@ -1,24 +0,0 @@
-# Fixes two tab-nick-completion bugs:
-# 1. Crash when you type space-tab
-# 2. Critical glib warning when completion in a dialog-tab.
---- xchat-2.0.10/src/fe-gtk/fkeys.c 2004-07-02 02:28:43.000000000 +1000
-+++ xchat-2.0.10p1/src/fe-gtk/fkeys.c 2004-07-10 01:16:29.000000000 +1000
-@@ -1393,8 +1393,6 @@
- {
- skip_len++;
- }
-- else
-- cursor_pos = g_utf8_pointer_to_offset(text, g_utf8_offset_to_pointer(ch, 1));
- }
-
- comp = skip_len;
-@@ -1599,7 +1597,8 @@
- gtk_entry_set_text (GTK_ENTRY (t), buf);
- gtk_editable_set_position (GTK_EDITABLE (t), g_utf8_pointer_to_offset(buf, buf + cursor_pos));
- }
-- g_completion_free(gcomp);
-+ if (gcomp)
-+ g_completion_free(gcomp);
- return 2;
- }
- #undef COMP_BUF
diff --git a/net-irc/xchat/files/xc2010-fixtabcomp3.diff b/net-irc/xchat/files/xc2010-fixtabcomp3.diff
new file mode 100644
index 000000000000..47930de6cfba
--- /dev/null
+++ b/net-irc/xchat/files/xc2010-fixtabcomp3.diff
@@ -0,0 +1,25 @@
+# Fixes two tab-nick-completion bugs:
+# 1. Crash when you type space-tab
+# 2. Critical glib warning when completing in a dialog-tab.
+--- xchat-2.0.10/src/fe-gtk/fkeys.c 2004-07-02 02:28:43.000000000 +1000
++++ xchat-2.0.10p3/src/fe-gtk/fkeys.c 2004-07-31 01:55:16.543471104 +1000
+@@ -1386,6 +1386,9 @@
+ {
+ skip_len++;
+ ch = g_utf8_find_prev_char(text, ch);
++ if (!ch)
++ return 2;
++
+ cursor_pos = g_utf8_pointer_to_offset(text, ch);
+ if (cursor_pos && (g_utf8_get_char_validated(ch, -1) == ':' ||
+ g_utf8_get_char_validated(ch, -1) == ',' ||
+@@ -1599,7 +1602,8 @@
+ gtk_entry_set_text (GTK_ENTRY (t), buf);
+ gtk_editable_set_position (GTK_EDITABLE (t), g_utf8_pointer_to_offset(buf, buf + cursor_pos));
+ }
+- g_completion_free(gcomp);
++ if (gcomp)
++ g_completion_free(gcomp);
+ return 2;
+ }
+ #undef COMP_BUF