diff --git a/ChangeLog b/ChangeLog index 3a33f8533..6ad86f960 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2004-07-29 Richard Frith-Macdonald + + * Source/NSAutoreleasePool.m: ([emptyPool]) reset _released ivar + suggested by Cristobal Castillo + 2004-07-28 Willem Rein Oudshoorn * Source/GSFileHandle.m ([GSFileHandle -gcFinalize]): if __MINGW__ also diff --git a/Source/NSAutoreleasePool.m b/Source/NSAutoreleasePool.m index cae014bcf..13f2c1af6 100644 --- a/Source/NSAutoreleasePool.m +++ b/Source/NSAutoreleasePool.m @@ -374,7 +374,6 @@ static IMP initImp; - (void) emptyPool { struct autorelease_array_list *released; - unsigned int i; if (_child) { @@ -384,6 +383,8 @@ static IMP initImp; released = _released_head; while (released) { + unsigned int i; + for (i = 0; i < released->count; i++) { id anObject = released->objects[i]; @@ -393,6 +394,7 @@ static IMP initImp; released->count = 0; released = released->next; } + _released = _released_head; } - (void) _reallyDealloc