diff options
author | marcus <marcus@FreeBSD.org> | 2003-08-26 09:44:47 +0800 |
---|---|---|
committer | marcus <marcus@FreeBSD.org> | 2003-08-26 09:44:47 +0800 |
commit | 2fe8fc24d50178ba40ae3c94a4e103ad81d7f776 (patch) | |
tree | a6292805557d234db18845c5ae784a8cee03fbd9 /net | |
parent | 93e2ca0ce5cf6efcd29bb0a2c60503ba0a46a818 (diff) | |
download | freebsd-ports-gnome-2fe8fc24d50178ba40ae3c94a4e103ad81d7f776.tar.gz freebsd-ports-gnome-2fe8fc24d50178ba40ae3c94a4e103ad81d7f776.tar.zst freebsd-ports-gnome-2fe8fc24d50178ba40ae3c94a4e103ad81d7f776.zip |
Fix sending pre-edit characters after hitting Enter. This mainly affects
CJK users.
Submitted by: perky
Obtained from: Gentoo Linux
Diffstat (limited to 'net')
-rw-r--r-- | net/gaim/Makefile | 1 | ||||
-rw-r--r-- | net/gaim/files/patch-src::gtkconv.c | 30 |
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"); |