From fd9b83a232ecfbd1bcd5c5e80117931019964db4 Mon Sep 17 00:00:00 2001 From: okan Date: Thu, 29 Dec 2011 20:48:38 +0000 Subject: check if we're in the group already, else multiple calls to group_movetogroup() on one client will still increment nhidden if the group is hidden. found the hard way by Thomas Jeunet and fix from Alexander Polakov - thanks to both! ok oga@ --- group.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/group.c b/group.c index 24933d9..68068b1 100644 --- a/group.c +++ b/group.c @@ -222,11 +222,13 @@ group_movetogroup(struct client_ctx *cc, int idx) err(1, "group_movetogroup: index out of range (%d)", idx); gc = &sc->groups[idx]; + if (cc->group == gc) + return; if (gc->hidden) { client_hide(cc); gc->nhidden++; } - group_add(&sc->groups[idx], cc); + group_add(gc, cc); } /* -- cgit 1.4.1