diff --git a/src/window.c b/src/window.c index 349c0e9b..34f1b033 100644 --- a/src/window.c +++ b/src/window.c @@ -388,11 +388,11 @@ GLFWAPI GLFWwindow glfwOpenWindow(int width, int height, int mode) return NULL; } + memset(window, 0, sizeof(_GLFWwindow)); + window->next = _glfwLibrary.windowListHead; _glfwLibrary.windowListHead = window; - memset(window, 0, sizeof(_GLFWwindow)); - // Set up desired framebuffer config fbconfig.redBits = Max(_glfwLibrary.hints.redBits, 0); fbconfig.greenBits = Max(_glfwLibrary.hints.greenBits, 0); @@ -697,13 +697,13 @@ GLFWAPI void glfwCloseWindow(GLFWwindow window) _glfwPlatformCloseWindow(window); - free(window); - prev = &_glfwLibrary.windowListHead; while (*prev != window) prev = &((*prev)->next); *prev = window->next; + + free(window); }