]> Dogcows Code - chaz/openbox/blobdiff - openbox/modkeys.c
fix using uninit'd memory. don't use 0 keycode
[chaz/openbox] / openbox / modkeys.c
index dc5220825cc613eb5ab099580b1c8dab570aa28d..70605511957b1886d6fe7ab5bc882693fe19f0e3 100644 (file)
@@ -20,6 +20,7 @@
 #include "openbox.h"
 
 #include <X11/Xlib.h>
+#include <X11/keysym.h>
 
 /* These masks are constants and the modifier keys are bound to them as
    anyone sees fit:
@@ -63,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);
+                    }
                 }
             }
         }
This page took 0.022632 seconds and 4 git commands to generate.