diff --git a/src/wl_init.c b/src/wl_init.c index d98c828d1..d44a128a3 100644 --- a/src/wl_init.c +++ b/src/wl_init.c @@ -612,8 +612,21 @@ void _glfwPlatformTerminate(void) wl_display_flush(_glfw.wl.display); if (_glfw.wl.display) wl_display_disconnect(_glfw.wl.display); + if (_glfw.wl.monitors) + { + int i; + for (i = 0; i < _glfw.wl.monitorsCount; ++i) + { + if (_glfw.wl.monitors[i]) + { + if (_glfw.wl.monitors[i]->wl.modes) + free(_glfw.wl.monitors[i]->wl.modes); + free(_glfw.wl.monitors[i]); + } + } free(_glfw.wl.monitors); + } } const char* _glfwPlatformGetVersionString(void)