diff --git a/alerts.c b/alerts.c index 27af3ee4..d90d0eb8 100644 --- a/alerts.c +++ b/alerts.c @@ -141,9 +141,11 @@ alerts_reset(struct window *w) { struct timeval tv; + if (!event_initialized(&w->alerts_timer)) + evtimer_set(&w->alerts_timer, alerts_timer, w); + w->flags &= ~WINDOW_SILENCE; - if (event_initialized(&w->alerts_timer)) - event_del(&w->alerts_timer); + event_del(&w->alerts_timer); timerclear(&tv); tv.tv_sec = options_get_number(w->options, "monitor-silence"); @@ -158,9 +160,6 @@ alerts_queue(struct window *w, int flags) { alerts_reset(w); - if (!event_initialized(&w->alerts_timer)) - evtimer_set(&w->alerts_timer, alerts_timer, w); - if ((w->flags & flags) != flags) { w->flags |= flags; log_debug("@%u alerts flags added %#x", w->id, flags);