From f31159407e2b8ceebfed9330fdf36db5d9ab54d0 Mon Sep 17 00:00:00 2001 From: Marco Peereboom Date: Thu, 6 Oct 2011 11:30:45 -0500 Subject: [PATCH] Revert "fix weird french keyboards" This reverts commit 64075b7af175e867e8e8d2d1ef280529bc303847. This causes crashes on spanish keyboards. 3364 if (!(win->transient != 0 || win->floating != 0)) (gdb) bt ) at scrotwm.c:6370 (gdb) The real issue is in keypress though. if ((keysym == keys[i].keysym || skeysym == keys[i].keysym) evaluates to true when it shouldn't. --- scrotwm.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/scrotwm.c b/scrotwm.c index 740c3f2..f03445b 100644 --- a/scrotwm.c +++ b/scrotwm.c @@ -5428,15 +5428,14 @@ void keypress(XEvent *e) { unsigned int i; - KeySym keysym, skeysym; + KeySym keysym; XKeyEvent *ev = &e->xkey; DNPRINTF(SWM_D_EVENT, "keypress: window: %lu\n", ev->window); keysym = XKeycodeToKeysym(display, (KeyCode)ev->keycode, 0); - skeysym = XKeycodeToKeysym(display, (KeyCode)ev->keycode, 1); for (i = 0; i < keys_length; i++) - if ((keysym == keys[i].keysym || skeysym == keys[i].keysym) + if (keysym == keys[i].keysym && CLEANMASK(keys[i].mod) == CLEANMASK(ev->state) && keyfuncs[keys[i].funcid].func) { if (keys[i].funcid == kf_spawn_custom) -- 1.7.10.4