diff options
-rw-r--r-- | nx-X11/programs/Xserver/hw/nxagent/Keystroke.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Keystroke.c b/nx-X11/programs/Xserver/hw/nxagent/Keystroke.c index 28d6d2467..ae3ba7808 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Keystroke.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Keystroke.c @@ -387,21 +387,19 @@ static void parse_keystroke_file(void) static enum nxagentSpecialKeystroke find_keystroke(XKeyEvent *X) { + enum nxagentSpecialKeystroke ret = KEYSTROKE_NOTHING; int keysyms_per_keycode_return; - XlibKeySym *keysym = XGetKeyboardMapping(nxagentDisplay, - X->keycode, - 1, - &keysyms_per_keycode_return); - struct nxagentSpecialKeystrokeMap *cur = map; parse_keystroke_file(); - enum nxagentSpecialKeystroke ret = KEYSTROKE_NOTHING; + XlibKeySym *keysym = XGetKeyboardMapping(nxagentDisplay, + X->keycode, + 1, + &keysyms_per_keycode_return); while (cur->stroke != KEYSTROKE_END_MARKER) { if (cur->keysym == keysym[0] && modifier_matches(cur->modifierMask, cur->modifierAltMeta, X->state)) { - free(keysym); return cur->stroke; } |