diff options
| author | Dana Jansens <danakj@orodu.net> | 2007-05-09 20:27:05 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2007-05-09 20:27:05 +0000 |
| commit | 481e68112177d1a1c0eb920f37c372ea34eeb371 (patch) | |
| tree | b9251f21c25c62201803dd3dc72db8d6ec5c7d36 | |
| parent | 7f262bc2a0733a77ae5a30752aecdcf4ba35f223 (diff) | |
fix using uninit'd memory. don't use 0 keycode
| -rw-r--r-- | openbox/modkeys.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/openbox/modkeys.c b/openbox/modkeys.c index 4eb836e5..70605511 100644 --- a/openbox/modkeys.c +++ b/openbox/modkeys.c @@ -64,12 +64,17 @@ void modkeys_startup(gboolean reconfigure) KeySym sym; /* get a keycode that is bound to the mask (i) */ KeyCode keycode = modmap->modifiermap[i*modmap->max_keypermod + j]; - /* go through each keysym bound to the given keycode */ - for (k = 0; k < keysyms_per_keycode; ++k) { - sym = keymap[(keycode-min_keycode) * keysyms_per_keycode + k]; - if (sym != NoSymbol) { - /* bind the key to the mask (e.g. Alt_L => Mod1Mask) */ - set_modkey_mask(nth_mask(i), sym); + g_print("keycode %d for mask %d\n", keycode, i); + if (keycode) { + /* go through each keysym bound to the given keycode */ + for (k = 0; k < keysyms_per_keycode; ++k) { + sym = keymap[(keycode-min_keycode) * keysyms_per_keycode + + k]; + g_print("k %d sym %s \n", k, XKeysymToString(sym)); + if (sym != NoSymbol) { + /* bind the key to the mask (e.g. Alt_L => Mod1Mask) */ + set_modkey_mask(nth_mask(i), sym); + } } } } |
