diff options
author | Sergey Udaltsov <svu@gnome.org> | 2006-04-16 02:14:21 +0000 |
---|---|---|
committer | Sergey Udaltsov <svu@gnome.org> | 2006-04-16 02:14:21 +0000 |
commit | f54c40c89a6b51e63fdd5b7ca953e807e8e4454b (patch) | |
tree | d1e1ec4decd2ccb0ddceba32843c3c765ec547f4 /libxklavier/xklavier_config_xkb.c | |
parent | 7d9ea35e7addbb9f67c8927c6c18206efa367c3f (diff) | |
download | libxklavier-f54c40c89a6b51e63fdd5b7ca953e807e8e4454b.tar.gz |
syncing with 2.x fixes
Diffstat (limited to 'libxklavier/xklavier_config_xkb.c')
-rw-r--r-- | libxklavier/xklavier_config_xkb.c | 8 |
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); |