Fix a memory leak. We need to clean up our autorelease pool code at some point.

This commit is contained in:
Ryan C. Gordon 2013-01-12 14:04:51 -05:00
parent a20096403e
commit 89124cba8b

View file

@ -235,6 +235,7 @@ Cocoa_GetDisplayName(CGDirectDisplayID displayID)
void void
Cocoa_InitModes(_THIS) Cocoa_InitModes(_THIS)
{ {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
CGDisplayErr result; CGDisplayErr result;
CGDirectDisplayID *displays; CGDirectDisplayID *displays;
CGDisplayCount numDisplays; CGDisplayCount numDisplays;
@ -243,6 +244,7 @@ Cocoa_InitModes(_THIS)
result = CGGetOnlineDisplayList(0, NULL, &numDisplays); result = CGGetOnlineDisplayList(0, NULL, &numDisplays);
if (result != kCGErrorSuccess) { if (result != kCGErrorSuccess) {
CG_SetError("CGGetOnlineDisplayList()", result); CG_SetError("CGGetOnlineDisplayList()", result);
[pool release];
return; return;
} }
displays = SDL_stack_alloc(CGDirectDisplayID, numDisplays); displays = SDL_stack_alloc(CGDirectDisplayID, numDisplays);
@ -250,6 +252,7 @@ Cocoa_InitModes(_THIS)
if (result != kCGErrorSuccess) { if (result != kCGErrorSuccess) {
CG_SetError("CGGetOnlineDisplayList()", result); CG_SetError("CGGetOnlineDisplayList()", result);
SDL_stack_free(displays); SDL_stack_free(displays);
[pool release];
return; return;
} }
@ -313,6 +316,7 @@ Cocoa_InitModes(_THIS)
} }
} }
SDL_stack_free(displays); SDL_stack_free(displays);
[pool release];
} }
int int