aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver/hw
diff options
context:
space:
mode:
authorUlrich Sibiller <uli42@gmx.de>2017-03-13 20:21:57 +0100
committerUlrich Sibiller <uli42@gmx.de>2017-03-13 21:24:52 +0100
commit5595e3d16cdae57544b91f01ee6cb6458850aa37 (patch)
tree3ead662ead0344614fb098d76e2a30b4e85bfc2f /nx-X11/programs/Xserver/hw
parentaf5a83bbadd7983a2d14147815bf9b180a0d87be (diff)
downloadnx-libs-5595e3d16cdae57544b91f01ee6cb6458850aa37.tar.gz
nx-libs-5595e3d16cdae57544b91f01ee6cb6458850aa37.tar.bz2
nx-libs-5595e3d16cdae57544b91f01ee6cb6458850aa37.zip
Keystroke.c: Fix modifier handling
Code could not distinguish between ctrl-alt-shift and ctrl-alt. Fixes ArcticaProject/nx-libs#395
Diffstat (limited to 'nx-X11/programs/Xserver/hw')
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Keystroke.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Keystroke.c b/nx-X11/programs/Xserver/hw/nxagent/Keystroke.c
index 12a5cd49b..6e8c9c2a8 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Keystroke.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Keystroke.c
@@ -155,10 +155,11 @@ static Bool modifier_matches(unsigned int mask, int compare_alt_meta, unsigned i
}
mask &= ~nxagentAltMetaMask;
+ state &= ~nxagentAltMetaMask;
}
/* all modifiers except meta/alt have to match exactly, extra bits are evil */
- if ((mask & state) != mask) {
+ if (mask != state) {
ret = False;
}