vlc | branch: master | Felix Paul Kühne <[email protected]> | Thu May 2 15:10:04 2013 +0100| [70a20d4822cf8fec4a1c2fd6b2760fafcc20a36f] | committer: Felix Paul Kühne
macosx: fix longstanding ~30KB memory leak in the AppleRemote wrapper > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=70a20d4822cf8fec4a1c2fd6b2760fafcc20a36f --- modules/gui/macosx/AppleRemote.m | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/gui/macosx/AppleRemote.m b/modules/gui/macosx/AppleRemote.m index 1a8e113..b526a60 100644 --- a/modules/gui/macosx/AppleRemote.m +++ b/modules/gui/macosx/AppleRemote.m @@ -544,7 +544,7 @@ static void QueueCallbackFunction(void* target, IOReturn result, void* refcon, long usage; long usagePage; id object; - NSArray* elements = nil; + NSArray* elements; NSDictionary* element; IOReturn success; @@ -557,8 +557,6 @@ static void QueueCallbackFunction(void* target, IOReturn result, void* refcon, success = (*handle)->copyMatchingElements(handle, NULL, (CFArrayRef*)&elements); if (success == kIOReturnSuccess) { - - [elements autorelease]; /* cookies = calloc(NUMBER_OF_APPLE_REMOTE_ACTIONS, sizeof(IOHIDElementCookie)); memset(cookies, 0, sizeof(IOHIDElementCookie) * NUMBER_OF_APPLE_REMOTE_ACTIONS); @@ -588,7 +586,10 @@ static void QueueCallbackFunction(void* target, IOReturn result, void* refcon, } _allCookies = [[NSArray alloc] initWithArray: mutableAllCookies]; [mutableAllCookies release]; + [elements release]; } else { + if (elements) + [elements release]; return NO; } _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
