wmii

git clone git://oldgit.suckless.org/wmii/
Log | Files | Refs | README | LICENSE

commit 4d7f8725ee65fc7b29fee9cc39f25640b45e3d82
parent 61ad8e0f98cf9c150c71d45a7ecb331a5240e8d9
Author: Anselm R. Garbe <garbeam@wmii.de>
Date:   Fri, 10 Mar 2006 15:52:49 +0100

made the class/instance fetching more failsafe


Diffstat:
cmd/wm/client.c | 10+++++++---
cmd/wm/kb.c | 12++++++++++++
2 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/cmd/wm/client.c b/cmd/wm/client.c @@ -39,9 +39,13 @@ alloc_client(Window w, XWindowAttributes *wa) free(name.value); } if(XGetClassHint(dpy, c->win, &ch)) { - snprintf(c->classinst, sizeof(c->classinst), "%s:%s", ch.res_class, ch.res_name); - XFree(ch.res_class); - XFree(ch.res_name); + ch.res_class = ch.res_name = nil; + snprintf(c->classinst, sizeof(c->classinst), "%s:%s", + ch.res_class ? ch.res_class : "", ch.res_name ? ch.res_name : ""); + if(ch.res_class) + XFree(ch.res_class); + if(ch.res_name) + XFree(ch.res_name); } fwa.override_redirect = 1; fwa.background_pixmap = ParentRelative; diff --git a/cmd/wm/kb.c b/cmd/wm/kb.c @@ -267,3 +267,15 @@ kid2index(unsigned short id) return i; return -1; } + + +void +update_keys() +{ + unsigned int i; + for(i = 0; i < nkey; i++) { + ungrab_key(key[i]); + grab_key(key[i]); + } +} +