mirror of
https://github.com/openbsd/xenocara.git
synced 2025-12-10 03:08:56 +00:00
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@
This commit is contained in:
@@ -16,7 +16,7 @@
|
||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*
|
||||
* $OpenBSD: group.c,v 1.54 2011/10/12 15:43:50 okan Exp $
|
||||
* $OpenBSD: group.c,v 1.55 2011/12/29 20:48:38 okan Exp $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user