diff options
author | Sergey Udaltsov <svu@gnome.org> | 2009-10-20 00:57:50 +0000 |
---|---|---|
committer | Sergey Udaltsov <svu@gnome.org> | 2009-10-20 00:57:50 +0000 |
commit | ca09f48e2207cf9eb67b6d9afb5a038fa5654bfd (patch) | |
tree | b8c3863b926e845cc6bc7deeb226e68d5f4182eb /libxklavier/xklavier_evt_xkb.c | |
parent | c4a650f9a9dd8e672ddecb5fbd96dccf35931484 (diff) | |
download | libxklavier-ca09f48e2207cf9eb67b6d9afb5a038fa5654bfd.tar.gz |
fixing small issue with XI error code handling
Diffstat (limited to 'libxklavier/xklavier_evt_xkb.c')
-rw-r--r-- | libxklavier/xklavier_evt_xkb.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/libxklavier/xklavier_evt_xkb.c b/libxklavier/xklavier_evt_xkb.c index b910b84..a06874a 100644 --- a/libxklavier/xklavier_evt_xkb.c +++ b/libxklavier/xklavier_evt_xkb.c @@ -87,8 +87,8 @@ xkl_xkb_process_x_event(XklEngine * engine, XEvent * xev) if (kev->state.changed & GROUP_CHANGE_MASK) xkl_engine_process_state_modification(engine, GROUP_CHANGED, - kev-> - state.locked_group, + kev->state. + locked_group, 0, FALSE); else { /* ...not interested... */ @@ -99,8 +99,8 @@ xkl_xkb_process_x_event(XklEngine * engine, XEvent * xev) xkl_debug(0, "ATTENTION! Currently cached group %d is not equal to the current group from the event: %d\n!", xkl_engine_priv(engine, - curr_state).group, - kev->state.locked_group); + curr_state). + group, kev->state.locked_group); } break; @@ -170,7 +170,12 @@ xkl_xkb_process_x_error(XklEngine * engine, XErrorEvent * xerev) { #ifdef HAVE_XINPUT /* Ignore XInput errors */ - if (xerev->error_code == xkl_engine_backend(engine, XklXkb, xi_error_code)) + if (xerev->error_code >= + xkl_engine_backend(engine, XklXkb, xi_error_code) + && xerev->error_code <= + (xkl_engine_backend(engine, XklXkb, xi_error_code) + + XI_BadClass)) + return 1; #endif |