aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kanakarakis <ivan.kanak@gmail.com>2012-02-06 18:18:23 +0200
committerIvan Kanakarakis <ivan.kanak@gmail.com>2012-02-06 18:18:23 +0200
commite889dc6f7354afb585658028e7d90e07981632af (patch)
tree3ded7bf6735cebad7ffce570be475e9e597e94b7
parent4f567079cb5649ec504fcc5d7e4b6da4dcde2e8d (diff)
killclient(): fix searching for WM_DELETE_WINDOW atom in client
-rw-r--r--monsterwm.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/monsterwm.c b/monsterwm.c
index ef77140..d8c982d 100644
--- a/monsterwm.c
+++ b/monsterwm.c
@@ -454,10 +454,10 @@ void keypress(XEvent *e) {
*/
void killclient() {
if (!current) return;
- Atom *protocols; int n = 0;
- if (XGetWMProtocols(dis, current->win, &protocols, &n)) while(n-- && protocols[n] != wmatoms[WM_DELETE_WINDOW]);
- if (n) deletewindow(current->win);
- else XKillClient(dis, current->win);
+ Atom *prot; int n = -1;
+ if (XGetWMProtocols(dis, current->win, &prot, &n)) while(!--n<0 && prot[n] != wmatoms[WM_DELETE_WINDOW]);
+ if (n < 0) XKillClient(dis, current->win);
+ else deletewindow(current->win);
removeclient(current);
}