summaryrefslogtreecommitdiff
path: root/libxklavier
diff options
context:
space:
mode:
authorSergey Udaltsov <svu@gnome.org>2009-10-20 00:57:50 +0000
committerSergey Udaltsov <svu@gnome.org>2009-10-20 00:57:50 +0000
commitca09f48e2207cf9eb67b6d9afb5a038fa5654bfd (patch)
treeb8c3863b926e845cc6bc7deeb226e68d5f4182eb /libxklavier
parentc4a650f9a9dd8e672ddecb5fbd96dccf35931484 (diff)
downloadlibxklavier-ca09f48e2207cf9eb67b6d9afb5a038fa5654bfd.tar.gz
fixing small issue with XI error code handling
Diffstat (limited to 'libxklavier')
-rw-r--r--libxklavier/xklavier_evt_xkb.c15
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