summaryrefslogtreecommitdiff
path: root/libxklavier/xklavier_config_xkb.c
diff options
context:
space:
mode:
authorSergey Udaltsov <svu@gnome.org>2006-04-16 02:14:21 +0000
committerSergey Udaltsov <svu@gnome.org>2006-04-16 02:14:21 +0000
commitf54c40c89a6b51e63fdd5b7ca953e807e8e4454b (patch)
treed1e1ec4decd2ccb0ddceba32843c3c765ec547f4 /libxklavier/xklavier_config_xkb.c
parent7d9ea35e7addbb9f67c8927c6c18206efa367c3f (diff)
downloadlibxklavier-f54c40c89a6b51e63fdd5b7ca953e807e8e4454b.tar.gz
syncing with 2.x fixes
Diffstat (limited to 'libxklavier/xklavier_config_xkb.c')
-rw-r--r--libxklavier/xklavier_config_xkb.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/libxklavier/xklavier_config_xkb.c b/libxklavier/xklavier_config_xkb.c
index e850daf..d574e69 100644
--- a/libxklavier/xklavier_config_xkb.c
+++ b/libxklavier/xklavier_config_xkb.c
@@ -238,6 +238,10 @@ xkl_config_get_keyboard(XklEngine * engine,
component_names_ptr->symbols,
component_names_ptr->geometry);
+ XSync(display, False);
+ /* From this point, ALL errors should be intercepted only by libxklavier */
+ xkl_engine_priv(engine, criticalSection) = TRUE;
+
cpid = fork();
switch (cpid) {
case -1:
@@ -350,6 +354,10 @@ xkl_config_get_keyboard(XklEngine * engine,
True);
break;
}
+ XSync(display, False);
+ /* Return to normal X error processing */
+ xkl_engine_priv(engine, criticalSection) = FALSE;
+
xkl_debug(160,
"Unlinking the temporary xkb file %s\n",
xkb_fn);