[Fedora-i18n-bugs] [Bug 731610] ibus enables or disables itself when text input focus changes

bugzilla at redhat.com bugzilla at redhat.com
Fri Aug 19 04:37:24 UTC 2011


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 at 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 at 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/cd1af7580346556d2ef493f514c61dfda3cde177
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()

-- 
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


More information about the i18n-bugs mailing list