mirror of
https://github.com/glfw/glfw.git
synced 2026-02-17 21:12:34 +01:00
Added clearing of callbacks on window destruction.
This commit is contained in:
14
src/window.c
14
src/window.c
@@ -494,6 +494,20 @@ GLFWAPI void glfwDestroyWindow(GLFWwindow handle)
|
||||
if (window == NULL)
|
||||
return;
|
||||
|
||||
// Clear all callbacks to avoid exposing a half torn-down window object
|
||||
window->windowPosCallback = NULL;
|
||||
window->windowSizeCallback = NULL;
|
||||
window->windowCloseCallback = NULL;
|
||||
window->windowRefreshCallback = NULL;
|
||||
window->windowFocusCallback = NULL;
|
||||
window->windowIconifyCallback = NULL;
|
||||
window->mouseButtonCallback = NULL;
|
||||
window->cursorPosCallback = NULL;
|
||||
window->cursorEnterCallback = NULL;
|
||||
window->scrollCallback = NULL;
|
||||
window->keyCallback = NULL;
|
||||
window->charCallback = NULL;
|
||||
|
||||
// The window's context must not be current on another thread when the
|
||||
// window is destroyed
|
||||
if (window == _glfwPlatformGetCurrentContext())
|
||||
|
||||
Reference in New Issue
Block a user