diff --git a/swayidle/main.c b/swayidle/main.c index 15f319c3..ad9c84c9 100644 --- a/swayidle/main.c +++ b/swayidle/main.c @@ -343,7 +343,10 @@ static int display_event(int fd, uint32_t mask, void *data) { if (mask & WL_EVENT_HANGUP) { sway_terminate(0); } - wl_display_dispatch(state.display); + if (wl_display_dispatch(state.display) < 0) { + wlr_log_errno(L_ERROR, "wl_display_dispatch failed, exiting"); + sway_terminate(0); + }; return 0; }