From e73e13120e2018297d7b5abb4bae552384b3e6dd Mon Sep 17 00:00:00 2001 From: ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> Date: Sat, 6 Aug 2022 10:07:38 +0200 Subject: Check for error while communicating with Wayland. --- src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx b/src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx index ce050dd36..44f0640ae 100644 --- a/src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx +++ b/src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx @@ -1065,11 +1065,13 @@ static const struct wl_registry_listener registry_listener = { static void fd_callback(int fd, struct wl_display *display) { - struct pollfd fds; - fds.fd = fd; - fds.events = POLLIN; - fds.revents = 0; - do wl_display_dispatch(display); + struct pollfd fds = (struct pollfd) { fd, POLLIN, 0 }; + do { + if (wl_display_dispatch(display) == -1) { + Fl::fatal("Fatal error while communicating with the Wayland server: errno=%d\n", + wl_display_get_error(display)); + } + } while (poll(&fds, 1, 0) > 0); } -- cgit v1.2.3