Please do not reply directly to this email. All additional comments should be made in the comments box of this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=731610
fujiwara tfujiwar@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |MODIFIED Fixed In Version| |ibus-1.3.99.20110419-17.fc1 | |5
--- Comment #2 from fujiwara tfujiwar@redhat.com 2011-08-19 00:37:23 EDT --- Enabled "Share the same input method..." includes two problems. The first problem is for ibus upstream: https://github.com/fujiwarat/ibus/commit/cd1af7580346556d2ef493f514c61dfda3c... The second problem is for the bridge hotkey (this problem does not effect f15 but f16 or later.)
Disabled "Share the same input method..." is caused by my typo.
The following is the changelog: https://github.com/fujiwarat/ibus/commits/gjs/ --- ibus-1.3.99.20110419/bus/ibusimpl.c.orig 2011-08-19 11:13:42.017416193 +0900 +++ ibus-1.3.99.20110419/bus/ibusimpl.c 2011-08-19 11:14:59.890356540 +0900 @@ -1730,12 +1730,14 @@ bus_ibus_impl_set_focused_context (BusIB }
BusEngineProxy *engine = NULL; + gboolean is_enabled = FALSE;
if (ibus->focused_context) { if (ibus->use_global_engine) { /* dettach engine from the focused context */ engine = bus_input_context_get_engine (ibus->focused_context); if (engine) { + is_enabled = bus_input_context_is_enabled (ibus->focused_context); g_object_ref (engine); bus_input_context_set_engine (ibus->focused_context, NULL); } @@ -1757,7 +1759,9 @@ bus_ibus_impl_set_focused_context (BusIB /* attach engine to the focused context */ if (engine != NULL) { bus_input_context_set_engine (context, engine); - bus_input_context_enable (context); + if (is_enabled) { + bus_input_context_enable (context); + } g_object_unref (engine); }
--- ibus-1.3.99.20110419/bus/ibusimpl.c.bak 2011-08-19 11:50:05.427725067 +0900 +++ ibus-1.3.99.20110419/bus/ibusimpl.c 2011-08-19 11:49:47.050735220 +0900 @@ -1731,6 +1731,7 @@ bus_ibus_impl_set_focused_context (BusIB
BusEngineProxy *engine = NULL; gboolean is_enabled = FALSE; + IBusEngineDesc *desc = NULL;
if (ibus->focused_context) { if (ibus->use_global_engine) { @@ -1738,6 +1739,7 @@ bus_ibus_impl_set_focused_context (BusIB engine = bus_input_context_get_engine (ibus->focused_context); if (engine) { is_enabled = bus_input_context_is_enabled (ibus->focused_context); + desc = bus_input_context_get_prev_hotkey_engine (ibus->focused_context); g_object_ref (engine); bus_input_context_set_engine (ibus->focused_context, NULL); } @@ -1762,6 +1764,7 @@ bus_ibus_impl_set_focused_context (BusIB if (is_enabled) { bus_input_context_enable (context); } + bus_input_context_set_prev_hotkey_engine (ibus->focused_context, desc); g_object_unref (engine); }
--- ibus-1.3.99.20110419/ui/gtk/panel.py.orig 2011-08-19 11:20:00.842121629 +0900 +++ ibus-1.3.99.20110419/ui/gtk/panel.py 2011-08-19 11:20:15.568112668 +0900 @@ -355,8 +355,6 @@ class Panel(ibus.PanelBase):
def focus_out(self, ic): self.reset() - if self.__focus_ic and self.__focus_ic.is_enabled(): - self.__focus_ic.disable() self.__focus_ic = None self.__language_bar.set_enabled(False) self.__language_bar.focus_out()