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
|