From cf2f8165eb84bd4c02a2335b9ef8312bd5249396 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 26 Jun 2020 16:28:48 +0530 Subject: [PATCH] Only ask application to abort once --- glfw/wl_window.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/glfw/wl_window.c b/glfw/wl_window.c index cc1c266ed..3cebcabfe 100644 --- a/glfw/wl_window.c +++ b/glfw/wl_window.c @@ -764,14 +764,18 @@ animateCursorImage(id_type timer_id UNUSED, void *data UNUSED) { static void abortOnFatalError(int last_error) { - _glfwInputError(GLFW_PLATFORM_ERROR, "Wayland: fatal display error: %s", strerror(last_error)); - if (_glfw.callbacks.application_close) _glfw.callbacks.application_close(1); - else { - _GLFWwindow* window = _glfw.windowListHead; - while (window) - { - _glfwInputWindowCloseRequest(window); - window = window->next; + static bool abort_called = false; + if (!abort_called) { + abort_called = true; + _glfwInputError(GLFW_PLATFORM_ERROR, "Wayland: fatal display error: %s", strerror(last_error)); + if (_glfw.callbacks.application_close) _glfw.callbacks.application_close(1); + else { + _GLFWwindow* window = _glfw.windowListHead; + while (window) + { + _glfwInputWindowCloseRequest(window); + window = window->next; + } } } // ensure the tick callback is called