From 962951344db30fa7de260421bdfdf25300eb565a Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Mon, 20 Oct 2014 22:41:58 -0700 Subject: [PATCH] Create an autorelease pool on Mac OS X when using `glfwPostEmptyEvent` from another thread. This avoids leaks of the `NSEvent` objects. --- src/cocoa_window.m | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/cocoa_window.m b/src/cocoa_window.m index 463c02c62..dd7b012fc 100644 --- a/src/cocoa_window.m +++ b/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)