JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
remove html stuff, we keep it all in the wiki now
[spectrwm.git] / scrotwm.c
index 740c3f2..55bf753 100644 (file)
--- a/scrotwm.c
+++ b/scrotwm.c
@@ -3353,10 +3353,13 @@ resize(struct ws_win *win, union arg *args)
 {
        XEvent                  ev;
        Time                    time = 0;
-       struct swm_region       *r = win->ws->r;
+       struct swm_region       *r = NULL;
        int                     relx, rely;
        int                     resize_step = 0;
 
+       if (win == NULL)
+               return;
+       r = win->ws->r;
 
        DNPRINTF(SWM_D_MOUSE, "resize: win %lu floating %d trans %lu\n",
            win->id, win->floating, win->transient);
@@ -3471,7 +3474,7 @@ resize_step(struct swm_region *r, union arg *args)
 {
        struct ws_win           *win = NULL;
 
-       if (r && r->ws)
+       if (r && r->ws && r->ws->focus)
                win = r->ws->focus;
        else
                return;
@@ -3508,7 +3511,11 @@ move(struct ws_win *win, union arg *args)
        XEvent                  ev;
        Time                    time = 0;
        int                     move_step = 0;
-       struct swm_region       *r = win->ws->r;
+       struct swm_region       *r = NULL;
+
+       if (win == NULL)
+               return;
+       r = win->ws->r;
 
        DNPRINTF(SWM_D_MOUSE, "move: win %lu floating %d trans %lu\n",
            win->id, win->floating, win->transient);
@@ -3605,7 +3612,7 @@ move_step(struct swm_region *r, union arg *args)
 {
        struct ws_win           *win = NULL;
 
-       if (r && r->ws)
+       if (r && r->ws && r->ws->focus)
                win = r->ws->focus;
        else
                return;
@@ -4821,7 +4828,8 @@ setautorun(char *selector, char *value, int flags)
 int
 setlayout(char *selector, char *value, int flags)
 {
-       int                     ws_id, st, i, x, mg, ma, si, raise;
+       int                     ws_id, i, x, mg, ma, si, raise;
+       int                     st = SWM_V_STACK;
        char                    s[1024];
        struct workspace        *ws;
 
@@ -5428,15 +5436,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)
@@ -5462,7 +5469,6 @@ buttonpress(XEvent *e)
 
        DNPRINTF(SWM_D_EVENT, "buttonpress: window: %lu\n", ev->window);
 
-       action = root_click;
        if ((win = find_window(ev->window)) == NULL)
                return;