diff --git a/src/video/cocoa/SDL_cocoamodes.m b/src/video/cocoa/SDL_cocoamodes.m index 0c87e78bf..db34d71c4 100644 --- a/src/video/cocoa/SDL_cocoamodes.m +++ b/src/video/cocoa/SDL_cocoamodes.m @@ -235,6 +235,7 @@ Cocoa_GetDisplayName(CGDirectDisplayID displayID) void Cocoa_InitModes(_THIS) { + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; CGDisplayErr result; CGDirectDisplayID *displays; CGDisplayCount numDisplays; @@ -243,6 +244,7 @@ Cocoa_InitModes(_THIS) result = CGGetOnlineDisplayList(0, NULL, &numDisplays); if (result != kCGErrorSuccess) { CG_SetError("CGGetOnlineDisplayList()", result); + [pool release]; return; } displays = SDL_stack_alloc(CGDirectDisplayID, numDisplays); @@ -250,6 +252,7 @@ Cocoa_InitModes(_THIS) if (result != kCGErrorSuccess) { CG_SetError("CGGetOnlineDisplayList()", result); SDL_stack_free(displays); + [pool release]; return; } @@ -313,6 +316,7 @@ Cocoa_InitModes(_THIS) } } SDL_stack_free(displays); + [pool release]; } int