From abf32f3ab4e5214d1a64579d4c7d8134ab46d797 Mon Sep 17 00:00:00 2001 From: Andy Spencer Date: Mon, 10 Oct 2011 07:30:30 +0000 Subject: [PATCH] Fix bugs in wm-tags --- wm-tags.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/wm-tags.c b/wm-tags.c index 6e23c82..83f7b28 100644 --- a/wm-tags.c +++ b/wm-tags.c @@ -38,17 +38,14 @@ void wm_update(void) int wm_handle_key(win_t *win, Key_t key, mod_t mod, ptr_t ptr) { int new = key - '0'; - if (!win) - return 0; - if (!mod.MODKEY) - return 0; - if (key < '0' || '9' < key) - return 0; - if (new == tag) + if (!win || !mod.MODKEY || mod.up || new == tag || + key < '0' || key > '9') return 0; if (mod.shift) { list_t *node = list_find(tags[tag], win); + if (node == NULL) + return 0; tags[tag] = list_remove(tags[tag], node, 0); tags[new] = list_insert(tags[new], win); sys_show(win, st_hide); @@ -76,6 +73,8 @@ void wm_remove(win_t *win) { for (int i = 0; i < 10; i++) { list_t *node = list_find(tags[i], win); + if (node == NULL) + continue; tags[i] = list_remove(tags[i], node, 0); } } -- 2.43.2