|
From: Martin R. <ru...@us...> - 2005-06-25 13:21:05
|
Update of /cvsroot/foo/foo/libfoo/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9026/src Modified Files: FOOBuffer.m FOOBufferManager.m FOOContext.m FOOOutputManager.m Log Message: fixed second (final?) series of reference counting related objc memory leaks Index: FOOOutputManager.m =================================================================== RCS file: /cvsroot/foo/foo/libfoo/src/FOOOutputManager.m,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** FOOOutputManager.m 28 Feb 2005 16:37:22 -0000 1.4 --- FOOOutputManager.m 25 Jun 2005 13:20:56 -0000 1.5 *************** *** 52,55 **** --- 52,58 ---- _context = aContext; _filename = nil; + _buffers = nil; + _caches = nil; + _outputs = nil; _channels = [_context getNumberOfChannels]; *************** *** 64,77 **** RELEASE(_filename); } ! if (_buffers != NULL) { [_buffers removeAllObjects]; RELEASE(_buffers); } ! if (_caches != NULL) { [_caches removeAllObjects]; RELEASE(_caches); } [super dealloc]; } --- 67,85 ---- RELEASE(_filename); } ! if (_buffers != nil) { [_buffers removeAllObjects]; RELEASE(_buffers); } ! if (_caches != nil) { [_caches removeAllObjects]; RELEASE(_caches); } + if (_outputs != nil) + { + [_outputs removeAllObjects]; + RELEASE(_outputs); + } [super dealloc]; } *************** *** 160,164 **** for (i = 0; i < _channels; ++i) { ! [_buffers addObject: [[FOOBuffer allocWithZone:[self zone]] initWithSize: s]]; } --- 168,172 ---- for (i = 0; i < _channels; ++i) { ! [_buffers addObject: [FOOBuffer bufferWithSize: s]]; } *************** *** 182,186 **** for (i = 0; i < _channels; ++i) { ! [_caches addObject: [[FOOBuffer allocWithZone:[self zone]] initWithSize: s]]; } --- 190,194 ---- for (i = 0; i < _channels; ++i) { ! [_caches addObject: [FOOBuffer bufferWithSize: s]]; } *************** *** 204,208 **** for (i = 0; i < _channels; ++i) { ! [_outputs addObject: [[FOOBuffer allocWithZone:[self zone]] initWithSize: s]]; } --- 212,216 ---- for (i = 0; i < _channels; ++i) { ! [_outputs addObject: [FOOBuffer bufferWithSize: s]]; } Index: FOOBufferManager.m =================================================================== RCS file: /cvsroot/foo/foo/libfoo/src/FOOBufferManager.m,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** FOOBufferManager.m 28 Feb 2005 16:37:22 -0000 1.5 --- FOOBufferManager.m 25 Jun 2005 13:20:56 -0000 1.6 *************** *** 70,74 **** for (i = [_objects count]; i <= index; ++i) { ! [_objects addObject: [[FOOBuffer allocWithZone: zone] initWithSize: _bufferSize]]; } --- 70,74 ---- for (i = [_objects count]; i <= index; ++i) { ! [_objects addObject: [FOOBuffer bufferWithSize: _bufferSize]]; } Index: FOOBuffer.m =================================================================== RCS file: /cvsroot/foo/foo/libfoo/src/FOOBuffer.m,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** FOOBuffer.m 28 Feb 2005 16:37:22 -0000 1.3 --- FOOBuffer.m 25 Jun 2005 13:20:55 -0000 1.4 *************** *** 42,45 **** --- 42,57 ---- @implementation FOOBuffer + + (FOOBuffer *) buffer + { + return AUTORELEASE([[self allocWithZone: NSDefaultMallocZone()] init]); + } + + + + (FOOBuffer *) bufferWithSize: (unsigned int)samples + { + return AUTORELEASE([[self allocWithZone: NSDefaultMallocZone()] initWithSize: samples]); + } + + - (FOOBuffer *) init { Index: FOOContext.m =================================================================== RCS file: /cvsroot/foo/foo/libfoo/src/FOOContext.m,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** FOOContext.m 20 Jun 2005 08:57:14 -0000 1.9 --- FOOContext.m 25 Jun 2005 13:20:56 -0000 1.10 *************** *** 179,183 **** { RELEASE([_moduleManager removeAllObjects]); - // RELEASE(_eagerModuleManager); RELEASE([_eagerModuleManager removeAllObjects]); RELEASE([_substrateManager removeAllObjects]); --- 179,182 ---- |