summaryrefslogtreecommitdiffstats
path: root/alerts.c
diff options
context:
space:
mode:
authornicm <nicm>2016-05-11 20:56:58 +0000
committernicm <nicm>2016-05-11 20:56:58 +0000
commit373b13b24006f87d3474e2c27886a5142c6bc35a (patch)
tree1a04a6f6f9a3b55d65cb54f86f16bb3a41d51724 /alerts.c
parent9f045787a5b12a8ee19a3cf29432a41cec4d2158 (diff)
Add on alerts rather than ignoring them if the event has already been
queued, for example bell and activity together. From Marcel Lippmann via Romain Francoise.
Diffstat (limited to 'alerts.c')
-rw-r--r--alerts.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/alerts.c b/alerts.c
index cca0d815..36678351 100644
--- a/alerts.c
+++ b/alerts.c
@@ -163,15 +163,15 @@ alerts_queue(struct window *w, int flags)
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;
}
}