=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/Attic/server-window.c,v retrieving revision 1.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- src/usr.bin/tmux/Attic/server-window.c 2015/03/31 17:45:10 1.32 +++ src/usr.bin/tmux/Attic/server-window.c 2015/04/22 15:30:11 1.33 @@ -1,4 +1,4 @@ -/* $OpenBSD: server-window.c,v 1.32 2015/03/31 17:45:10 nicm Exp $ */ +/* $OpenBSD: server-window.c,v 1.33 2015/04/22 15:30:11 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott @@ -34,24 +34,20 @@ server_window_loop(void) { struct window *w; - struct winlink *wl; struct session *s; - u_int i; + struct winlink *wl; - for (i = 0; i < ARRAY_LENGTH(&windows); i++) { - w = ARRAY_ITEM(&windows, i); - if (w == NULL) - continue; - + RB_FOREACH(w, windows, &windows) { RB_FOREACH(s, sessions, &sessions) { - wl = session_has(s, w); - if (wl == NULL) - continue; + RB_FOREACH(wl, winlinks, &s->windows) { + if (wl->window != w) + continue; - if (server_window_check_bell(s, wl) || - server_window_check_activity(s, wl) || - server_window_check_silence(s, wl)) - server_status_session(s); + if (server_window_check_bell(s, wl) || + server_window_check_activity(s, wl) || + server_window_check_silence(s, wl)) + server_status_session(s); + } } } }