summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Udaltsov <svu@gnome.org>2006-03-02 00:35:57 +0000
committerSergey Udaltsov <svu@gnome.org>2006-03-02 00:35:57 +0000
commitae42fb9f3160c1a87d5c58069a0756e4f980e908 (patch)
tree9cf1eb3d0150e85b8447f63b0bfdd50a8712755e
parentbf550343f4e870abe140f97282b851c5278c248d (diff)
downloadlibxklavier-ae42fb9f3160c1a87d5c58069a0756e4f980e908.tar.gz
working test_config
-rw-r--r--libxklavier/xklavier.c54
-rw-r--r--libxklavier/xklavier_config.c2
2 files changed, 29 insertions, 27 deletions
diff --git a/libxklavier/xklavier.c b/libxklavier/xklavier.c
index 9bbde12..74b0011 100644
--- a/libxklavier/xklavier.c
+++ b/libxklavier/xklavier.c
@@ -180,6 +180,33 @@ xkl_engine_get_instance(Display * display)
the_engine->priv->display = display;
+ int scr;
+
+ the_engine->priv->default_error_handler =
+ XSetErrorHandler((XErrorHandler) xkl_process_error);
+
+ Display *dpy = xkl_engine_get_display(the_engine);
+ scr = DefaultScreen(dpy);
+ the_engine->priv->root_window = RootWindow(dpy, scr);
+
+ the_engine->priv->skip_one_restore = FALSE;
+ the_engine->priv->default_group = -1;
+ the_engine->priv->secondary_groups_mask = 0L;
+ the_engine->priv->prev_toplvl_win = 0;
+
+ the_engine->priv->atoms[WM_NAME] =
+ XInternAtom(dpy, "WM_NAME", False);
+ the_engine->priv->atoms[WM_STATE] =
+ XInternAtom(dpy, "WM_STATE", False);
+ the_engine->priv->atoms[XKLAVIER_STATE] =
+ XInternAtom(dpy, "XKLAVIER_STATE", False);
+ the_engine->priv->atoms[XKLAVIER_TRANSPARENT] =
+ XInternAtom(dpy, "XKLAVIER_TRANSPARENT", False);
+ the_engine->priv->atoms[XKLAVIER_ALLOW_SECONDARY] =
+ XInternAtom(dpy, "XKLAVIER_ALLOW_SECONDARY", False);
+
+ xkl_engine_one_switch_to_secondary_group_performed(the_engine);
+
const gchar *sdl = g_getenv("XKL_DEBUG");
if (sdl != NULL) {
@@ -209,33 +236,6 @@ xkl_engine_get_instance(Display * display)
return NULL;
}
- int scr;
-
- the_engine->priv->default_error_handler =
- XSetErrorHandler((XErrorHandler) xkl_process_error);
-
- Display *dpy = xkl_engine_get_display(the_engine);
- scr = DefaultScreen(dpy);
- the_engine->priv->root_window = RootWindow(dpy, scr);
-
- the_engine->priv->skip_one_restore = FALSE;
- the_engine->priv->default_group = -1;
- the_engine->priv->secondary_groups_mask = 0L;
- the_engine->priv->prev_toplvl_win = 0;
-
- the_engine->priv->atoms[WM_NAME] =
- XInternAtom(dpy, "WM_NAME", False);
- the_engine->priv->atoms[WM_STATE] =
- XInternAtom(dpy, "WM_STATE", False);
- the_engine->priv->atoms[XKLAVIER_STATE] =
- XInternAtom(dpy, "XKLAVIER_STATE", False);
- the_engine->priv->atoms[XKLAVIER_TRANSPARENT] =
- XInternAtom(dpy, "XKLAVIER_TRANSPARENT", False);
- the_engine->priv->atoms[XKLAVIER_ALLOW_SECONDARY] =
- XInternAtom(dpy, "XKLAVIER_ALLOW_SECONDARY", False);
-
- xkl_engine_one_switch_to_secondary_group_performed(the_engine);
-
if (!xkl_engine_load_all_info(the_engine)) {
g_object_unref(G_OBJECT(the_engine));
the_engine = NULL;
diff --git a/libxklavier/xklavier_config.c b/libxklavier/xklavier_config.c
index 6fb572c..1198851 100644
--- a/libxklavier/xklavier_config.c
+++ b/libxklavier/xklavier_config.c
@@ -327,6 +327,8 @@ xkl_config_get_instance(XklEngine * engine)
the_config = XKL_CONFIG(g_object_new(xkl_config_get_type(), NULL));
+ the_config->priv->engine = engine;
+
xmlXPathInit();
models_xpath = xmlXPathCompile((unsigned char *)
"/xkbConfigRegistry/modelList/model");