浏览代码

Fixed clipboard string leaks.

The clipboard string was not by the Win32 and Cocoa ports on terminate.
Camilla Berglund 12 年之前
父节点
当前提交
2ce9e8e6b2
共有 4 个文件被更改,包括 8 次插入3 次删除
  1. 2 0
      README.md
  2. 2 0
      src/cocoa_init.m
  3. 2 0
      src/win32_init.c
  4. 2 3
      src/x11_init.c

+ 2 - 0
README.md

@@ -101,6 +101,8 @@ See the [GLFW 3.0 documentation](http://www.glfw.org/docs/3.0/).
 
  - Bugfix: The `-Wall` flag was not used with Clang and other GCC compatibles
  - Bugfix: The default for `GLFW_ALPHA_BITS` was set to zero
+ - [Win32] Bugfix: The clipboard string was not freed on terminate
+ - [Cocoa] Bugfix: The clipboard string was not freed on terminate
  - [X11] Bugfix: Override-redirect windows were resized to the desired instead
                  of the actual resolution of the selected video mode
 

+ 2 - 0
src/cocoa_init.m

@@ -118,6 +118,8 @@ void _glfwPlatformTerminate(void)
     [_glfw.ns.cursor release];
     _glfw.ns.cursor = nil;
 
+    free(_glfw.ns.clipboardString);
+
     _glfwTerminateJoysticks();
 
     _glfwTerminateContextAPI();

+ 2 - 0
src/win32_init.c

@@ -218,6 +218,8 @@ void _glfwPlatformTerminate(void)
         _glfw.win32.classAtom = 0;
     }
 
+    free(_glfw.win32.clipboardString);
+
     _glfwTerminateContextAPI();
 
     _glfwTerminateJoysticks();

+ 2 - 3
src/x11_init.c

@@ -628,14 +628,13 @@ void _glfwPlatformTerminate(void)
         _glfw.x11.cursor = (Cursor) 0;
     }
 
+    free(_glfw.x11.selection.string);
+
     _glfwTerminateJoysticks();
 
     _glfwTerminateContextAPI();
 
     terminateDisplay();
-
-    if (_glfw.x11.selection.string)
-        free(_glfw.x11.selection.string);
 }
 
 const char* _glfwPlatformGetVersionString(void)