aboutsummaryrefslogtreecommitdiff
path: root/alerts.c
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2017-04-28 22:01:18 +0100
committerThomas Adam <thomas@xteddy.org>2017-04-28 22:01:18 +0100
commit3a8e56b282161ab4feb728bfedba77aa35093a0a (patch)
treeac58d53220819d892f1e8177a7cf63ffddac6907 /alerts.c
parent36202a63e979f41943003d49748eaebe5776bf7f (diff)
parent0f2f783584c62879a1182972e915f550bf23f00a (diff)
downloadrtmux-3a8e56b282161ab4feb728bfedba77aa35093a0a.tar.gz
rtmux-3a8e56b282161ab4feb728bfedba77aa35093a0a.tar.bz2
rtmux-3a8e56b282161ab4feb728bfedba77aa35093a0a.zip
Merge branch 'obsd-master'
Diffstat (limited to 'alerts.c')
-rw-r--r--alerts.c22
1 files changed, 12 insertions, 10 deletions
diff --git a/alerts.c b/alerts.c
index 708a24e2..6696369f 100644
--- a/alerts.c
+++ b/alerts.c
@@ -64,7 +64,7 @@ alerts_callback(__unused int fd, __unused short events, __unused void *arg)
TAILQ_REMOVE(&alerts_list, w, alerts_entry);
w->flags &= ~WINDOW_ALERTFLAGS;
- window_remove_ref(w);
+ window_remove_ref(w, __func__);
}
alerts_fired = 0;
}
@@ -144,16 +144,18 @@ alerts_queue(struct window *w, int flags)
log_debug("@%u alerts flags added %#x", w->id, flags);
}
- if (!w->alerts_queued) {
- w->alerts_queued = 1;
- TAILQ_INSERT_TAIL(&alerts_list, w, alerts_entry);
- w->references++;
- }
+ if (alerts_enabled(w, flags)) {
+ if (!w->alerts_queued) {
+ w->alerts_queued = 1;
+ TAILQ_INSERT_TAIL(&alerts_list, w, alerts_entry);
+ window_add_ref(w, __func__);
+ }
- 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;
+ if (!alerts_fired) {
+ log_debug("alerts check queued (by @%u)", w->id);
+ event_once(-1, EV_TIMEOUT, alerts_callback, NULL, NULL);
+ alerts_fired = 1;
+ }
}
}