From 01cca3c114a6a4b82892c7c6f34b00dd898a5900 Mon Sep 17 00:00:00 2001 From: okan Date: Tue, 19 Aug 2014 12:47:51 +0000 Subject: Pull highstack from group_ctx (and useless calculations of); in the one place that we use highstack, replace that usage with a local variable (for now until stacking is done properly). --- group.c | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) (limited to 'group.c') diff --git a/group.c b/group.c index c4af66f..647b3d1 100644 --- a/group.c +++ b/group.c @@ -68,12 +68,9 @@ group_hide(struct screen_ctx *sc, struct group_ctx *gc) screen_updatestackingorder(sc); - gc->highstack = 0; - TAILQ_FOREACH(cc, &gc->clients, group_entry) { + TAILQ_FOREACH(cc, &gc->clients, group_entry) client_hide(cc); - if (cc->stackingorder > gc->highstack) - gc->highstack = cc->stackingorder; - } + gc->hidden = 1; } @@ -83,27 +80,23 @@ group_show(struct screen_ctx *sc, struct group_ctx *gc) struct client_ctx *cc; Window *winlist; int i, lastempty = -1; - int nwins = 0; + int nwins = 0, highstack = 0; - gc->highstack = 0; TAILQ_FOREACH(cc, &gc->clients, group_entry) { - if (cc->stackingorder > gc->highstack) - gc->highstack = cc->stackingorder; + if (cc->stackingorder > highstack) + highstack = cc->stackingorder; } - winlist = xcalloc((gc->highstack + 1), sizeof(*winlist)); + winlist = xcalloc((highstack + 1), sizeof(*winlist)); - /* - * Invert the stacking order as XRestackWindows() expects them - * top-to-bottom. - */ + /* Invert the stacking order for XRestackWindows(). */ TAILQ_FOREACH(cc, &gc->clients, group_entry) { - winlist[gc->highstack - cc->stackingorder] = cc->win; + winlist[highstack - cc->stackingorder] = cc->win; client_unhide(cc); nwins++; } /* Un-sparseify */ - for (i = 0; i <= gc->highstack; i++) { + for (i = 0; i <= highstack; i++) { if (!winlist[i] && lastempty == -1) lastempty = i; else if (winlist[i] && lastempty != -1) { -- cgit 1.4.1