aboutsummaryrefslogtreecommitdiff
path: root/net/gaim
diff options
context:
space:
mode:
authorJoe Marcus Clarke <marcus@FreeBSD.org>2003-08-26 01:44:47 +0000
committerJoe Marcus Clarke <marcus@FreeBSD.org>2003-08-26 01:44:47 +0000
commit5878fb898f4a9c62aefc422fcc8ee5616dc21de7 (patch)
tree7d6e5a88945809d9463d428c6a0cadb716b1e1b9 /net/gaim
parent9ac9016e7b7e757a35240fa31ec5af15c5d5bc24 (diff)
downloadports-5878fb898f4a9c62aefc422fcc8ee5616dc21de7.tar.gz
ports-5878fb898f4a9c62aefc422fcc8ee5616dc21de7.zip
Fix sending pre-edit characters after hitting Enter. This mainly affects
CJK users. Submitted by: perky Obtained from: Gentoo Linux
Notes
Notes: svn path=/head/; revision=87706
Diffstat (limited to 'net/gaim')
-rw-r--r--net/gaim/Makefile1
-rw-r--r--net/gaim/files/patch-src::gtkconv.c30
2 files changed, 31 insertions, 0 deletions
diff --git a/net/gaim/Makefile b/net/gaim/Makefile
index bf4c87e9cda1..bebbfe8ea3bc 100644
--- a/net/gaim/Makefile
+++ b/net/gaim/Makefile
@@ -6,6 +6,7 @@
PORTNAME= gaim
PORTVERSION= 0.67
+PORTREVISION= 1
CATEGORIES?= net
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= ${PORTNAME}
diff --git a/net/gaim/files/patch-src::gtkconv.c b/net/gaim/files/patch-src::gtkconv.c
new file mode 100644
index 000000000000..ab1c804d46e1
--- /dev/null
+++ b/net/gaim/files/patch-src::gtkconv.c
@@ -0,0 +1,30 @@
+--- src/gtkconv.c.orig Thu Aug 14 07:40:41 2003
++++ src/gtkconv.c Mon Aug 25 16:34:55 2003
+@@ -1138,11 +1138,27 @@
+ GaimConversation *conv;
+ GaimGtkConversation *gtkconv;
+ GaimGtkWindow *gtkwin;
++ gboolean im_context_retval = FALSE;
++ static guint32 last_event_time;
+
+ conv = (GaimConversation *)data;
+ gtkconv = GAIM_GTK_CONVERSATION(conv);
+ win = gaim_conversation_get_window(conv);
+ gtkwin = GAIM_GTK_WINDOW(win);
++
++ /*
++ * Check if the input method handles this keyevent or we can use it.
++ * We need to check the event time, otherwise the gtk xim module gets into an event loop (bug?)
++ * Maybe this is not the best solution, but it works.
++ */
++
++ if (last_event_time != event->time) {
++ im_context_retval = gtk_im_context_filter_keypress(GTK_TEXT_VIEW(gtkconv->entry)->im_context, event);
++ }
++ last_event_time = event->time;
++ if (im_context_retval == TRUE) {
++ return TRUE;
++ }
+
+ if (event->keyval == GDK_Page_Up) {
+ g_signal_stop_emission_by_name(G_OBJECT(entry), "key_press_event");