diff options
author | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-07-28 09:22:37 +1000 |
---|---|---|
committer | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-07-28 22:40:43 +1000 |
commit | 32663b7b013e9c0fd37c1c86d6c26bc3156e1c3a (patch) | |
tree | 4460ec751c0d9bb32c837d3ecda0379ada0fffae /sway/input | |
parent | a2164c666197e983b2059647e31fd93491893c43 (diff) | |
download | sway-32663b7b013e9c0fd37c1c86d6c26bc3156e1c3a.tar.xz |
Handle out-of-fd situations gracefully for transaction and urgent timers
Diffstat (limited to 'sway/input')
-rw-r--r-- | sway/input/seat.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/sway/input/seat.c b/sway/input/seat.c index e7b6e0c5..ab07c03c 100644 --- a/sway/input/seat.c +++ b/sway/input/seat.c @@ -696,8 +696,14 @@ void seat_set_focus_warp(struct sway_seat *seat, config->urgent_timeout > 0) { view->urgent_timer = wl_event_loop_add_timer(server.wl_event_loop, handle_urgent_timeout, view); - wl_event_source_timer_update(view->urgent_timer, - config->urgent_timeout); + if (view->urgent_timer) { + wl_event_source_timer_update(view->urgent_timer, + config->urgent_timeout); + } else { + wlr_log(WLR_ERROR, "Unable to create urgency timer. " + "There might not be any available file descriptors."); + handle_urgent_timeout(view); + } } else { view_set_urgent(view, false); } |