summaryrefslogtreecommitdiff
path: root/bus
diff options
context:
space:
mode:
authorPeng Huang <shawn.p.huang@gmail.com>2011-12-22 11:25:17 -0500
committerPeng Huang <shawn.p.huang@gmail.com>2012-02-21 11:51:52 -0500
commit55492f4491972c0cbc1f082540f639b79484269e (patch)
treecb7ae947c3cfdb59c17f2bbff7087043c990bb2a /bus
parent96201f111217b064317606cc9adb67cc1dfe2535 (diff)
Make registered IME visible to panel.
Diffstat (limited to 'bus')
-rw-r--r--bus/ibusimpl.c25
1 files changed, 7 insertions, 18 deletions
diff --git a/bus/ibusimpl.c b/bus/ibusimpl.c
index b40226a9..cbe087f5 100644
--- a/bus/ibusimpl.c
+++ b/bus/ibusimpl.c
@@ -50,7 +50,7 @@ struct _BusIBusImpl {
BusInputContext *fake_context;
/* a list of engines that are preloaded. */
- GList *engine_list;
+ // GList *engine_list;
/* a list of engines that are started by a user (without the --ibus command line flag.) */
GList *register_engine_list;
@@ -332,7 +332,6 @@ bus_ibus_impl_init (BusIBusImpl *ibus)
ibus);
bus_input_context_focus_in (ibus->fake_context);
- ibus->engine_list = NULL;
ibus->register_engine_list = NULL;
ibus->contexts = NULL;
ibus->focused_context = NULL;
@@ -417,9 +416,6 @@ bus_ibus_impl_destroy (BusIBusImpl *ibus)
}
}
- g_list_free_full (ibus->engine_list, g_object_unref);
- ibus->engine_list = NULL;
-
g_list_free_full (ibus->register_engine_list, g_object_unref);
ibus->register_engine_list = NULL;
@@ -485,12 +481,6 @@ _find_engine_desc_by_name (BusIBusImpl *ibus,
return desc;
}
- /* find engine in preload engine list */
- for (p = ibus->engine_list; p != NULL; p = p->next) {
- desc = (IBusEngineDesc *) p->data;
- if (g_strcmp0 (ibus_engine_desc_get_name (desc), engine_name) == 0)
- return desc;
- }
return NULL;
}
@@ -506,6 +496,7 @@ _context_request_engine_cb (BusInputContext *context,
{
if (engine_name == NULL || engine_name[0] == '\0')
engine_name = "xkb:layout:us";
+
return bus_ibus_impl_get_engine_desc (ibus, engine_name);
}
@@ -522,7 +513,11 @@ bus_ibus_impl_get_engine_desc (BusIBusImpl *ibus,
g_return_val_if_fail (engine_name != NULL, NULL);
g_return_val_if_fail (engine_name[0] != '\0', NULL);
- return bus_registry_find_engine_by_name (ibus->registry, engine_name);
+ IBusEngineDesc *desc = _find_engine_desc_by_name (ibus, engine_name);
+ if (desc == NULL) {
+ desc = bus_registry_find_engine_by_name (ibus->registry, engine_name);
+ }
+ return desc;
}
static void
@@ -674,8 +669,6 @@ bus_ibus_impl_check_global_engine (BusIBusImpl *ibus)
/* Just switch to the fist engine in the list. */
engine_list = ibus->register_engine_list;
- if (!engine_list)
- engine_list = ibus->engine_list;
if (engine_list) {
IBusEngineDesc *engine_desc = (IBusEngineDesc *)engine_list->data;
@@ -1038,9 +1031,6 @@ _ibus_list_active_engines (BusIBusImpl *ibus,
g_variant_builder_init (&builder, G_VARIANT_TYPE ("av"));
GList *p;
- for (p = ibus->engine_list; p != NULL; p = p->next) {
- g_variant_builder_add (&builder, "v", ibus_serializable_serialize ((IBusSerializable *) p->data));
- }
for (p = ibus->register_engine_list; p != NULL; p = p->next) {
g_variant_builder_add (&builder, "v", ibus_serializable_serialize ((IBusSerializable *) p->data));
}
@@ -1498,7 +1488,6 @@ bus_ibus_impl_update_engines_hotkey_profile (BusIBusImpl *ibus)
g_hash_table_new_full (NULL, NULL, NULL, (GDestroyNotify) g_list_free);
g_list_foreach (ibus->register_engine_list, (GFunc) _add_engine_hotkey, ibus);
- g_list_foreach (ibus->engine_list, (GFunc) _add_engine_hotkey, ibus);
}
gboolean