diff options
author | Tiago Cunha <tcunha@gmx.com> | 2012-07-11 17:06:11 +0000 |
---|---|---|
committer | Tiago Cunha <tcunha@gmx.com> | 2012-07-11 17:06:11 +0000 |
commit | 38530de62258baf12a89f508025f2dc38ce8b5f5 (patch) | |
tree | a0f3e9011a62083c6f4076be57c17eb3b5ca4bc7 /window.c | |
parent | f040bc249f87c3f1f78ed18e80d2384573f56142 (diff) | |
download | rtmux-38530de62258baf12a89f508025f2dc38ce8b5f5.tar.gz rtmux-38530de62258baf12a89f508025f2dc38ce8b5f5.tar.bz2 rtmux-38530de62258baf12a89f508025f2dc38ce8b5f5.zip |
Sync OpenBSD patchset 1144:
Clear flags across all sessions, from Thomas Adam.
Diffstat (limited to 'window.c')
-rw-r--r-- | window.c | 28 |
1 files changed, 28 insertions, 0 deletions
@@ -1174,3 +1174,31 @@ window_pane_find_right(struct window_pane *wp) } return (NULL); } + +/* Clear alert flags for a winlink */ +void +winlink_clear_flags(struct winlink *wl) +{ + struct winlink *wm; + struct session *s; + struct window *w; + u_int i; + + for (i = 0; i < ARRAY_LENGTH(&windows); i++) { + if ((w = ARRAY_ITEM(&windows, i)) == NULL) + continue; + + RB_FOREACH(s, sessions, &sessions) { + if ((wm = session_has(s, w)) == NULL) + continue; + + if (wm->window != wl->window) + continue; + if ((wm->flags & WINLINK_ALERTFLAGS) == 0) + continue; + + wm->flags &= ~WINLINK_ALERTFLAGS; + server_status_session(s); + } + } +} |