From 1db7cc2a18d2d3665a4d589d9bc39312eca42268 Mon Sep 17 00:00:00 2001 From: okan Date: Mon, 6 May 2013 16:03:11 +0000 Subject: remove group in client_delete directly. --- calmwm.h | 1 - client.c | 6 +++--- group.c | 11 ----------- 3 files changed, 3 insertions(+), 15 deletions(-) diff --git a/calmwm.h b/calmwm.h index cb10f19..82f43aa 100644 --- a/calmwm.h +++ b/calmwm.h @@ -348,7 +348,6 @@ void client_warp(struct client_ctx *); void group_alltoggle(struct screen_ctx *); void group_autogroup(struct client_ctx *); -void group_client_delete(struct client_ctx *); void group_cycle(struct screen_ctx *, int); void group_hidetoggle(struct screen_ctx *, int); void group_init(struct screen_ctx *); diff --git a/client.c b/client.c index c8d3801..7b94777 100644 --- a/client.c +++ b/client.c @@ -149,13 +149,10 @@ client_delete(struct client_ctx *cc) struct screen_ctx *sc = cc->sc; struct winname *wn; - group_client_delete(cc); - XGrabServer(X_Dpy); cc->state = WithdrawnState; xu_set_wm_state(cc->win, cc->state); XRemoveFromSaveSet(X_Dpy, cc->win); - XSync(X_Dpy, False); XUngrabServer(X_Dpy); @@ -164,6 +161,9 @@ client_delete(struct client_ctx *cc) xu_ewmh_net_client_list(sc); + if (cc->group != NULL) + TAILQ_REMOVE(&cc->group->clients, cc, group_entry); + if (cc == client_current()) client_none(sc); diff --git a/group.c b/group.c index d73f8c4..f7a0a2d 100644 --- a/group.c +++ b/group.c @@ -308,17 +308,6 @@ group_cycle(struct screen_ctx *sc, int flags) group_setactive(sc, showgroup->shortcut); } -/* called when a client is deleted */ -void -group_client_delete(struct client_ctx *cc) -{ - if (cc->group == NULL) - return; - - TAILQ_REMOVE(&cc->group->clients, cc, group_entry); - cc->group = NULL; /* he he */ -} - void group_menu(XButtonEvent *e) { -- cgit 1.4.1