summary refs log tree commit diff
path: root/group.c
diff options
context:
space:
mode:
Diffstat (limited to 'group.c')
-rw-r--r--group.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/group.c b/group.c
index 0857437..5482d70 100644
--- a/group.c
+++ b/group.c
@@ -331,20 +331,17 @@ group_restore(struct client_ctx *cc)
 {
 	struct screen_ctx	*sc = cc->sc;
 	struct group_ctx	*gc;
-	int			 num = -1;
+	int			 num;
 	long			*grpnum;
 
 	if (xu_getprop(cc->win, ewmh[_NET_WM_DESKTOP], XA_CARDINAL, 1L,
 	    (unsigned char **)&grpnum) <= 0)
 		return(0);
 
-	num = MIN(*grpnum, (CALMWM_NGROUPS - 1));
+	num = (*grpnum == -1) ? 0 : *grpnum;
+	num = MIN(num, (CALMWM_NGROUPS - 1));
 	XFree(grpnum);
 
-	if (num == -1) {
-		group_assign(NULL, cc);
-		return(1);
-	}
 	TAILQ_FOREACH(gc, &sc->groupq, entry) {
 		if (gc->num == num) {
 			group_assign(gc, cc);