|
From: Martin R. <ru...@us...> - 2005-06-20 08:57:24
|
Update of /cvsroot/foo/foo/libfoo/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26447/libfoo/src Modified Files: FOOContext.m FOORegion.m FOOSoundStream.m Log Message: fixed first series of refcounting related potential memory leaks. other yet to follow Index: FOORegion.m =================================================================== RCS file: /cvsroot/foo/foo/libfoo/src/FOORegion.m,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** FOORegion.m 28 Feb 2005 16:37:22 -0000 1.5 --- FOORegion.m 20 Jun 2005 08:57:14 -0000 1.6 *************** *** 57,61 **** FOO_ERROR(YES, self); } ! _substrate = substrate; // RETAIN? _offset = rint(off * [substrate getSamplingRate]); _size = rint(siz * [substrate getSamplingRate]); --- 57,61 ---- FOO_ERROR(YES, self); } ! _substrate = RETAIN(substrate); // RETAIN? _offset = rint(off * [substrate getSamplingRate]); _size = rint(siz * [substrate getSamplingRate]); *************** *** 70,73 **** --- 70,80 ---- + - (void) dealloc + { + RELEASE(_substrate); + [super dealloc]; + } //dealloc + + - (BOOL) getSamples: (sample_t *)buffer offset: (long)off Index: FOOContext.m =================================================================== RCS file: /cvsroot/foo/foo/libfoo/src/FOOContext.m,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** FOOContext.m 28 Feb 2005 16:37:22 -0000 1.8 --- FOOContext.m 20 Jun 2005 08:57:14 -0000 1.9 *************** *** 112,118 **** RELEASE(unarchiver); - // by the way - [FOOGlobalsManager recycleAutoreleasePool]; - return self; } --- 112,115 ---- *************** *** 175,181 **** _locked = NO; - // by the way - [FOOGlobalsManager recycleAutoreleasePool]; - return self; } --- 172,175 ---- *************** *** 185,193 **** { RELEASE([_moduleManager removeAllObjects]); ! RELEASE(_eagerModuleManager); RELEASE([_substrateManager removeAllObjects]); RELEASE([_volatileBufferManager removeAllObjects]); RELEASE([_sharedBufferManager removeAllObjects]); RELEASE([_outputManager removeAllObjects]); [super dealloc]; } --- 179,189 ---- { RELEASE([_moduleManager removeAllObjects]); ! // RELEASE(_eagerModuleManager); ! RELEASE([_eagerModuleManager removeAllObjects]); RELEASE([_substrateManager removeAllObjects]); RELEASE([_volatileBufferManager removeAllObjects]); RELEASE([_sharedBufferManager removeAllObjects]); RELEASE([_outputManager removeAllObjects]); + RELEASE(_nilModule); [super dealloc]; } Index: FOOSoundStream.m =================================================================== RCS file: /cvsroot/foo/foo/libfoo/src/FOOSoundStream.m,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** FOOSoundStream.m 28 Feb 2005 16:37:22 -0000 1.5 --- FOOSoundStream.m 20 Jun 2005 08:57:14 -0000 1.6 *************** *** 51,55 **** FOO_ERROR(YES, self); } ! _soundFile = (FOOSoundFile *)substrate; // RETAIN? _channelNumber = channel - 1; if (_channelNumber < 0 || _channelNumber >= [_soundFile getChannelCount]) --- 51,55 ---- FOO_ERROR(YES, self); } ! _soundFile = RETAIN((FOOSoundFile *)substrate); // RETAIN? _channelNumber = channel - 1; if (_channelNumber < 0 || _channelNumber >= [_soundFile getChannelCount]) *************** *** 62,65 **** --- 62,72 ---- + - (void) dealloc + { + RELEASE(_soundFile); + [super dealloc]; + } // dealloc + + - (BOOL) getSamples: (sample_t *)b offset:(long)o |