diff options
author | nicm <nicm> | 2015-04-22 15:30:11 +0000 |
---|---|---|
committer | nicm <nicm> | 2015-04-22 15:30:11 +0000 |
commit | 8d66f4fba4972d45be64d108c7c8d952f85016a8 (patch) | |
tree | e4b4d2745922796fa06923b7d18e77b300daee59 /resize.c | |
parent | 89e80cabd56bf2f7fa783575fe9b1f6192fade42 (diff) | |
download | rtmux-8d66f4fba4972d45be64d108c7c8d952f85016a8.tar.gz rtmux-8d66f4fba4972d45be64d108c7c8d952f85016a8.tar.bz2 rtmux-8d66f4fba4972d45be64d108c7c8d952f85016a8.zip |
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.c | 11 |
1 files changed, 5 insertions, 6 deletions
@@ -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"); |