=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/alerts.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- src/usr.bin/tmux/alerts.c 2016/01/19 15:59:12 1.10 +++ src/usr.bin/tmux/alerts.c 2016/05/11 20:56:58 1.11 @@ -1,4 +1,4 @@ -/* $OpenBSD: alerts.c,v 1.10 2016/01/19 15:59:12 nicm Exp $ */ +/* $OpenBSD: alerts.c,v 1.11 2016/05/11 20:56:58 nicm Exp $ */ /* * Copyright (c) 2015 Nicholas Marriott @@ -163,15 +163,15 @@ if (!event_initialized(&w->alerts_timer)) evtimer_set(&w->alerts_timer, alerts_timer, w); - if (!alerts_fired) { + if ((w->flags & flags) != flags) { w->flags |= flags; log_debug("@%u alerts flags added %#x", w->id, flags); + } - if (alerts_enabled(w, flags)) { - log_debug("alerts check queued (by @%u)", w->id); - event_once(-1, EV_TIMEOUT, alerts_callback, NULL, NULL); - alerts_fired = 1; - } + if (!alerts_fired && alerts_enabled(w, flags)) { + log_debug("alerts check queued (by @%u)", w->id); + event_once(-1, EV_TIMEOUT, alerts_callback, NULL, NULL); + alerts_fired = 1; } }