summaryrefslogtreecommitdiffstats
path: root/resize.c
diff options
context:
space:
mode:
authornicm <nicm>2015-04-22 15:30:11 +0000
committernicm <nicm>2015-04-22 15:30:11 +0000
commit8d66f4fba4972d45be64d108c7c8d952f85016a8 (patch)
treee4b4d2745922796fa06923b7d18e77b300daee59 /resize.c
parent89e80cabd56bf2f7fa783575fe9b1f6192fade42 (diff)
Change the windows array into an RB tree and fix some places where we
were only looking at the first winlink for a window in a session.
Diffstat (limited to 'resize.c')
-rw-r--r--resize.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/resize.c b/resize.c
index 9ad73c81..5b89b093 100644
--- a/resize.c
+++ b/resize.c
@@ -49,7 +49,7 @@ recalculate_sizes(void)
struct client *c;
struct window *w;
struct window_pane *wp;
- u_int i, j, ssx, ssy, has, limit;
+ u_int i, ssx, ssy, has, limit;
int flag, has_status, is_zoomed, forced;
RB_FOREACH(s, sessions, &sessions) {
@@ -57,8 +57,8 @@ recalculate_sizes(void)
s->attached = 0;
ssx = ssy = UINT_MAX;
- for (j = 0; j < ARRAY_LENGTH(&clients); j++) {
- c = ARRAY_ITEM(&clients, j);
+ for (i = 0; i < ARRAY_LENGTH(&clients); i++) {
+ c = ARRAY_ITEM(&clients, i);
if (c == NULL || c->flags & CLIENT_SUSPENDED)
continue;
if (c->session == s) {
@@ -92,9 +92,8 @@ recalculate_sizes(void)
s->sy = ssy;
}
- for (i = 0; i < ARRAY_LENGTH(&windows); i++) {
- w = ARRAY_ITEM(&windows, i);
- if (w == NULL || w->active == NULL)
+ RB_FOREACH(w, windows, &windows) {
+ if (w->active == NULL)
continue;
flag = options_get_number(&w->options, "aggressive-resize");