From c6bd6a7741b0645d3fa30944d90f16ef2007024e Mon Sep 17 00:00:00 2001 From: Camilla Berglund Date: Mon, 13 Sep 2010 23:25:55 +0200 Subject: [PATCH] Moved window close check to shared code. --- src/window.c | 19 ++++++++++++++++++- src/x11/x11_window.c | 15 --------------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/src/window.c b/src/window.c index cbd6dce7..73244eac 100644 --- a/src/window.c +++ b/src/window.c @@ -1039,11 +1039,13 @@ GLFWAPI void glfwSetWindowRefreshCallback(GLFWwindow window, GLFWwindowrefreshfu //======================================================================== -// Poll for new window and input events +// Poll for new window and input events and close any flagged windows //======================================================================== GLFWAPI void glfwPollEvents(void) { + _GLFWwindow* window; + if (!_glfwInitialized) { _glfwSetError(GLFW_NOT_INITIALIZED); @@ -1051,6 +1053,21 @@ GLFWAPI void glfwPollEvents(void) } _glfwPlatformPollEvents(); + + for (window = _glfwLibrary.windowListHead; window; ) + { + if (window->closed && window->windowCloseCallback) + window->closed = window->windowCloseCallback(window); + + if (window->closed) + { + _GLFWwindow* next = window->next; + glfwCloseWindow(window); + window = next; + } + else + window = window->next; + } } diff --git a/src/x11/x11_window.c b/src/x11/x11_window.c index 8fee22e5..3b47af5f 100644 --- a/src/x11/x11_window.c +++ b/src/x11/x11_window.c @@ -1756,21 +1756,6 @@ void _glfwPlatformPollEvents(void) window->height / 2); } } - - for (window = _glfwLibrary.windowListHead; window; ) - { - if (window->closed && window->windowCloseCallback) - window->closed = window->windowCloseCallback(window); - - if (window->closed) - { - _GLFWwindow* next = window->next; - glfwCloseWindow(window); - window = next; - } - else - window = window->next; - } }