浏览代码

Create an autorelease pool in glfwPostEmptyEvent.

This prevents leaking NSEvent objects.

Closes #372.
Patrick Walton 11 年之前
父节点
当前提交
5052b2d7e0
共有 2 个文件被更改,包括 3 次插入0 次删除
  1. 1 0
      README.md
  2. 2 0
      src/cocoa_window.m

+ 1 - 0
README.md

@@ -251,6 +251,7 @@ skills.
  - Ricardo Vieira
  - Simon Voordouw
  - Torsten Walluhn
+ - Patrick Walton
  - Jay Weisskopf
  - Frank Wille
  - yuriks

+ 2 - 0
src/cocoa_window.m

@@ -1206,6 +1206,7 @@ void _glfwPlatformWaitEvents(void)
 
 void _glfwPlatformPostEmptyEvent(void)
 {
+    NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
     NSEvent* event = [NSEvent otherEventWithType:NSApplicationDefined
                                         location:NSMakePoint(0, 0)
                                    modifierFlags:0
@@ -1216,6 +1217,7 @@ void _glfwPlatformPostEmptyEvent(void)
                                            data1:0
                                            data2:0];
     [NSApp postEvent:event atStart:YES];
+    [pool drain];
 }
 
 void _glfwPlatformSetCursorPos(_GLFWwindow* window, double x, double y)