backend/x11: check for connection errors

This commit is contained in:
Simon Ser 2021-04-14 22:42:12 +02:00 committed by Kenny Levinsen
parent 053ebe7c27
commit 1e5460d4c6
1 changed files with 9 additions and 0 deletions

View File

@ -133,6 +133,9 @@ static int x11_event(int fd, uint32_t mask, void *data) {
struct wlr_x11_backend *x11 = data; struct wlr_x11_backend *x11 = data;
if ((mask & WL_EVENT_HANGUP) || (mask & WL_EVENT_ERROR)) { if ((mask & WL_EVENT_HANGUP) || (mask & WL_EVENT_ERROR)) {
if (mask & WL_EVENT_ERROR) {
wlr_log(WLR_ERROR, "Failed to read from X11 server");
}
wl_display_terminate(x11->wl_display); wl_display_terminate(x11->wl_display);
return 0; return 0;
} }
@ -143,6 +146,12 @@ static int x11_event(int fd, uint32_t mask, void *data) {
free(e); free(e);
} }
int ret = xcb_connection_has_error(x11->xcb);
if (ret != 0) {
wlr_log(WLR_ERROR, "X11 connection error (%d)", ret);
wl_display_terminate(x11->wl_display);
}
return 0; return 0;
} }