diff options
author | Huang Peng <shawn.p.huang@gmail.com> | 2009-02-27 16:55:26 +0800 |
---|---|---|
committer | Huang Peng <shawn.p.huang@gmail.com> | 2009-02-27 16:55:26 +0800 |
commit | 0eea8dfe33c68589406f71d411875b862ddfb377 (patch) | |
tree | 23de5ef2bb42cd67028a563c98d4db62ca93bf5e | |
parent | be022f73729a0405d1bdba7fb3ef2549ff418977 (diff) | |
download | ibus-0eea8dfe33c68589406f71d411875b862ddfb377.tar.gz ibus-0eea8dfe33c68589406f71d411875b862ddfb377.tar.xz ibus-0eea8dfe33c68589406f71d411875b862ddfb377.zip |
Load default input method engine in right moment.
-rw-r--r-- | bus/dbusimpl.c | 2 | ||||
-rw-r--r-- | bus/ibusimpl.c | 13 |
2 files changed, 12 insertions, 3 deletions
diff --git a/bus/dbusimpl.c b/bus/dbusimpl.c index fff6364..3cc51dc 100644 --- a/bus/dbusimpl.c +++ b/bus/dbusimpl.c @@ -819,6 +819,7 @@ _connection_ibus_message_cb (BusConnection *connection, ibus_message_set_sender (message, bus_connection_get_unique_name (connection)); switch (ibus_message_get_type (message)) { +#if 1 case DBUS_MESSAGE_TYPE_ERROR: g_debug ("From :%s to %s, Error: %s : %s", ibus_message_get_sender (message), @@ -826,6 +827,7 @@ _connection_ibus_message_cb (BusConnection *connection, ibus_message_get_error_name (message), ibus_message_get_error_message (message)); break; +#endif #if 0 case DBUS_MESSAGE_TYPE_METHOD_CALL: g_debug("From %s to %s, Method %s on %s", diff --git a/bus/ibusimpl.c b/bus/ibusimpl.c index 479ce5d..814e831 100644 --- a/bus/ibusimpl.c +++ b/bus/ibusimpl.c @@ -227,6 +227,15 @@ bus_ibus_impl_set_preload_engines (BusIBusImpl *ibus, g_list_foreach (engine_list, (GFunc) g_object_ref, NULL); ibus->engine_list = engine_list; + + if (ibus->engine_list) { + IBusComponent *component; + + component = ibus_component_get_from_engine ((IBusEngineDesc *) ibus->engine_list->data); + if (component && !ibus_component_is_running (component)) { + ibus_component_start (component); + } + } } static gint @@ -503,7 +512,7 @@ bus_ibus_impl_destroy (BusIBusImpl *ibus) break; } if (pid == 0) { /* no child status changed */ - usleep (1000); + g_usleep (1000); timeout += 1000; if (timeout >= G_USEC_PER_SEC) { if (flag == FALSE) { @@ -851,8 +860,6 @@ _ibus_create_input_context (BusIBusImpl *ibus, context = bus_input_context_new (connection, client); ibus->contexts = g_list_append (ibus->contexts, context); - _context_request_engine_cb (context, NULL, ibus); - static const struct { gchar *name; GCallback callback; |