From 083b294659b33a43815b1db384ccac446f55efe0 Mon Sep 17 00:00:00 2001 From: Kenny Levinsen Date: Tue, 14 Jan 2020 19:47:17 +0100 Subject: [PATCH] wayland: Simplify dispatch_pending error handling wl_display_dispatch_pending does not return EAGAIN, and always sets an error when it fails. This allows us to handle errors in a simpler manner. --- glfw/wl_window.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/glfw/wl_window.c b/glfw/wl_window.c index 61b407dd8..a31a37dad 100644 --- a/glfw/wl_window.c +++ b/glfw/wl_window.c @@ -762,15 +762,9 @@ handleEvents(monotonic_t timeout) EVDBG("starting handleEvents(%.2f)", monotonic_t_to_s_double(timeout)); while (wl_display_prepare_read(display) != 0) { - while(1) { - int num_dispatched = wl_display_dispatch_pending(display); - if (num_dispatched < 0) { - if (errno == EAGAIN) continue; - int last_error = wl_display_get_error(display); - if (last_error) abortOnFatalError(last_error); - return; - } - break; + if (wl_display_dispatch_pending(display) == -1) { + abortOnFatalError(wl_display_get_error(display)); + return; } }