summaryrefslogtreecommitdiff
path: root/libxklavier/xklavier_config_xkb.c
diff options
context:
space:
mode:
authorSergey Udaltsov <svu@gnome.org>2006-03-12 20:54:40 +0000
committerSergey Udaltsov <svu@gnome.org>2006-03-12 20:54:40 +0000
commit9454d6f6a507566ca0bd8a057d21e8968102f722 (patch)
treeb363482fa1a514ed3fa8163bbb587840b31377e2 /libxklavier/xklavier_config_xkb.c
parent2c88cc80147b72eba939d6358939ef59d403c34e (diff)
downloadlibxklavier-9454d6f6a507566ca0bd8a057d21e8968102f722.tar.gz
Further cleanup of API. Introducing XklConfigItem properties etc
Diffstat (limited to 'libxklavier/xklavier_config_xkb.c')
-rw-r--r--libxklavier/xklavier_config_xkb.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/libxklavier/xklavier_config_xkb.c b/libxklavier/xklavier_config_xkb.c
index 39b74e8..e850daf 100644
--- a/libxklavier/xklavier_config_xkb.c
+++ b/libxklavier/xklavier_config_xkb.c
@@ -398,24 +398,22 @@ xkl_xkb_multiple_layouts_supported(XklEngine * engine)
static int support_state = UNCHECKED;
if (support_state == UNCHECKED) {
- XklConfigRec data;
- char *layouts[] = { "us", "de", NULL };
- char *variants[] = { NULL, NULL, NULL };
+ XklConfigRec *data = xkl_config_rec_new();
#ifdef XKB_HEADERS_PRESENT
XkbComponentNamesRec component_names;
memset(&component_names, 0, sizeof(component_names));
#endif
- data.model = "pc105";
- data.layouts = layouts;
- data.variants = variants;
- data.options = NULL;
+ data->model = g_strdup("pc105");
+ data->layouts = g_strsplit_set("us:de", ":", -1);
+ data->variants = g_strsplit_set(":", ":", -1);
+ data->options = NULL;
xkl_debug(100, "!!! Checking multiple layouts support\n");
support_state = NON_SUPPORTED;
#ifdef XKB_HEADERS_PRESENT
if (xkl_xkb_config_native_prepare
- (engine, &data, &component_names)) {
+ (engine, data, &component_names)) {
xkl_debug(100,
"!!! Multiple layouts ARE supported\n");
support_state = SUPPORTED;
@@ -426,6 +424,7 @@ xkl_xkb_multiple_layouts_supported(XklEngine * engine)
"!!! Multiple layouts ARE NOT supported\n");
}
#endif
+ g_object_unref(G_OBJECT(data));
}
return support_state == SUPPORTED;
}