diff --git a/.gitignore b/.gitignore index b43202a..0badec1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ ibus-1.3.6.tar.gz /ibus-1.3.9.tar.gz /ibus-1.3.99.20101202.tar.gz +/ibus-1.3.99.20110206.tar.gz +/ibus-1.3.99.20110228.tar.gz +/gnome-shell-ibus-plugins-20110304.tar.bz2 diff --git a/ibus-HEAD.patch b/ibus-HEAD.patch index 8b13789..9f2ac84 100644 --- a/ibus-HEAD.patch +++ b/ibus-HEAD.patch @@ -1 +1,83 @@ +From fbdd157b2ab1e6e873818132530dd9e55e4f94dd Mon Sep 17 00:00:00 2001 +From: Peng Huang +Date: Mon, 7 Mar 2011 10:26:04 -0500 +Subject: [PATCH] Move gtk_key_snooper_remove from function object_fini to class_fini. + +BUG=http://crosbug.com/12803 +TEST=Linux desktop + +Review URL: http://codereview.appspot.com/4267044 +--- + client/gtk2/ibusimcontext.c | 24 +++++++++++++++--------- + 1 files changed, 15 insertions(+), 9 deletions(-) + +diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c +index a634d0e..31a415d 100644 +--- a/client/gtk2/ibusimcontext.c ++++ b/client/gtk2/ibusimcontext.c +@@ -91,6 +91,7 @@ static GdkWindow *_input_window = NULL; + + /* functions prototype */ + static void ibus_im_context_class_init (IBusIMContextClass *klass); ++static void ibus_im_context_class_fini (IBusIMContextClass *class); + static void ibus_im_context_init (GObject *obj); + static void ibus_im_context_finalize (GObject *obj); + static void ibus_im_context_reset (GtkIMContext *context); +@@ -155,10 +156,10 @@ ibus_im_context_register_type (GTypeModu + + static const GTypeInfo ibus_im_context_info = { + sizeof (IBusIMContextClass), +- (GBaseInitFunc) NULL, +- (GBaseFinalizeFunc) NULL, ++ (GBaseInitFunc) NULL, ++ (GBaseFinalizeFunc) NULL, + (GClassInitFunc) ibus_im_context_class_init, +- NULL, /* class finialize */ ++ (GClassFinalizeFunc) ibus_im_context_class_fini, + NULL, /* class data */ + sizeof (IBusIMContext), + 0, +@@ -371,6 +372,16 @@ ibus_im_context_class_init (IBusIMCo + } + + static void ++ibus_im_context_class_fini (IBusIMContextClass *class) ++{ ++ if (_key_snooper_id != 0) { ++ IDEBUG ("snooper is terminated."); ++ gtk_key_snooper_remove (_key_snooper_id); ++ _key_snooper_id = 0; ++ } ++} ++ ++static void + ibus_im_context_init (GObject *obj) + { + IDEBUG ("%s", __FUNCTION__); +-- +1.7.4.1 + +From c0489ba017f298e51efe86bc7f5def1928389197 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Fri, 11 Mar 2011 15:53:53 +0900 +Subject: [PATCH] Fix preedit_string = NULL in ibus-x11 _free_ic() + +--- + client/x11/main.c | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/client/x11/main.c b/client/x11/main.c +index a2967cc..16104de 100644 +--- a/client/x11/main.c ++++ b/client/x11/main.c +@@ -526,6 +526,7 @@ _free_ic (gpointer data, gpointer user_data) + g_return_if_fail (x11ic != NULL); + + g_free (x11ic->preedit_string); ++ x11ic->preedit_string = NULL; + + if (x11ic->preedit_attrs) { + g_object_unref (x11ic->preedit_attrs); +-- +1.7.4.1 diff --git a/ibus.spec b/ibus.spec index 6aebb6a..26dda98 100644 --- a/ibus.spec +++ b/ibus.spec @@ -8,14 +8,14 @@ Name: ibus Version: 1.3.9 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Intelligent Input Bus for Linux OS License: LGPLv2+ Group: System Environment/Libraries URL: http://code.google.com/p/ibus/ Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz Source1: xinput-ibus -# Patch0: ibus-HEAD.patch +Patch0: ibus-HEAD.patch # Back compatibility with 1.3.6 and not to crash ibus-m17n and ibus-qt. Patch99: ibus-xx-va-list.patch @@ -110,7 +110,7 @@ The ibus-devel-docs package contains developer documentation for ibus %prep %setup -q -# %patch0 -p1 +%patch0 -p1 # Fedora build %patch99 -p1 -b .va-list @@ -236,6 +236,12 @@ fi %{_datadir}/gtk-doc/html/* %changelog +* Fri Mar 11 2011 Takao Fujiwara - 1.3.9-3 +- Updated ibus-HEAD.patch + Removed snooper in class_fini +- Updated xinput-ibus + Set QT_IM_MODULE=xim if ibus-qt is not installed + * Tue Jan 04 2011 Takao Fujiwara - 1.3.9-2 - Update to 1.3.9 Fixed Bug 621795 - crash in ibus_object_destroy diff --git a/xinput-ibus b/xinput-ibus index 3efb736..6d99fbb 100644 --- a/xinput-ibus +++ b/xinput-ibus @@ -1,7 +1,7 @@ XIM=ibus XIM_PROGRAM="/usr/bin/ibus-daemon" ICON="/usr/share/icons/hicolor/scalable/apps/ibus.svg" -XIM_ARGS="--xim" +XIM_ARGS="-r --xim" PREFERENCE_PROGRAM=/usr/bin/ibus-setup SHORT_DESC="IBus" GTK_IM_MODULE=ibus @@ -10,4 +10,6 @@ if test -f /usr/lib/qt4/plugins/inputmethods/libqtim-ibus.so || \ test -f /usr/lib64/qt4/plugins/inputmethods/libqtim-ibus.so; then QT_IM_MODULE=ibus +else + QT_IM_MODULE=xim fi