Comment #14 on issue 1264 by [email protected]: Bug with Korean mode
https://code.google.com/p/ibus/issues/detail?id=1264

IBusPreeditFocusMode is related to ibus_engine_update_preedit_text_with_mode() that has no relation with commit, and besides, ibus_engine_* methods run asynchronously. I try to make detail patches including ibus preferences( [v] "commit preedit string before resetting input method corresponding gtk2, gtk3, qt ...").

For further information on this workflow, see below.

Gtk application(gedit) loading im-ibus.so is a process.
ibus-hangul(ibus-engine-hangul) is a process.
ibus-daemon is a process

hodong@debian:~/projects/ibus-1.4.1$ ps x | grep ibus
 2834 ?        Ssl    1:11 /usr/bin/ibus-daemon --daemonize --xim
 2845 ?        Sl     0:00 /usr/lib/ibus/ibus-gconf
 2849 ?        S      0:26 /usr/bin/python /usr/share/ibus/ui/gtk/main.py
 2851 ?        Sl     0:00 /usr/lib/ibus/ibus-x11 --kill-daemon
 2864 ?        Sl     0:03 /usr/lib/ibus/ibus-engine-hangul --ibus
 3573 pts/0    S+     0:00 grep --color=auto ibus

ibus_service_emit_signal(): g_dbus_connection_emit_signal() does not wait client/gtk3/ibusimcontext.c: _ibus_context_*_cb() methods.

+-- client side ---------------------------------------------------+
| GtkTextVeiw reset() starts when we click mouse.                  |
|   ibus_im_context_reset() starts.                                |
|                                                                  |
|     ibus_engine_commit_text()                                    |
|        |                                                         |
|        v                                                         |
|     ibus_engine_emit_signal(): CommitText                        |
|        |                                                         |
|        v
|     ibus_service_emit_signal(): g_dbus_connection_emit_signal() -----+
|                                                                      |
|   ibus_im_context_reset() ends.                                  |   |
| GtkTextVeiw reset() ends.                                        |   |
| GtkTextVeiw changes cursor location                              |   |
+------------------------------------------------------------------+   |
                                                                       |
                                                                       |
                                                                       v
+-- server side ----------------------------------------------------------+
|                bus_engine_proxy_g_signal: CommitText                    |
+-------------------------------------------------------------------------+
                                      |
                                      v
+-- client side ------------------------------------------------+
|  client/gtk3/ibusimcontext.c: _ibus_context_commit_text_cb()  |
+---------------------------------------------------------------+

--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

--
--
You received this message because you are subscribed to the Google
Groups "ibus-devel" group.
iBus project web page: http://code.google.com/p/ibus/
iBus dev group: http://groups.google.com/group/ibus-devel?hl=en
--- You received this message because you are subscribed to the Google Groups "ibus-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

回复