From 7409378c7eb5a41cfebdd0988c6bf835d33b2a4a Mon Sep 17 00:00:00 2001 From: Denis Biryukov Date: Tue, 24 Mar 2015 13:26:46 +0300 Subject: [PATCH] Fix memory leak in wl_monitor.c void _glfwAddOutput(uint32_t name, uint32_t version) Monitor was allocated but not freed --- src/wl_init.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) 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)