commit efa94cae6cedde619c5d0e536b432f08abc89860 from: Omar Polo date: Fri Jul 16 07:20:33 2021 UTC initialize events: prevents libevent2 from crashing clminibufev and resizeev are two globally defined event, and thus guaranteed to be zeroed. While OpenBSD' libevent1 is fine when calling event_pending on such events, libevent2 complains and, probably depending on which flags were used, crashes. Prompted and tested by Andrea Feletto, thanks! commit - 04c21b67e647e939257f5976f9fb8139624a2d18 commit + efa94cae6cedde619c5d0e536b432f08abc89860 blob - 1f1d656c148c317626ffe3e07596bc10234ff596 blob + 68fbbf9d9a8403482624341707595656d5ece659 --- ui.c +++ ui.c @@ -1473,6 +1473,15 @@ ui_init(int argc, char * const *argv) mvwprintw(body, 0, 0, ""); + /* + * Dummy so libevent2 won't complain that no event_base is set + * when checking event_pending for the first time. + */ + evtimer_set(&clminibufev, handle_clear_minibuf, NULL); + evtimer_add(&clminibufev, &clminibufev_timer); + evtimer_set(&resizeev, handle_resize_nodelay, NULL); + evtimer_add(&resizeev, &resize_timer); + event_set(&stdioev, 0, EV_READ | EV_PERSIST, dispatch_stdio, NULL); event_add(&stdioev, NULL);