diff --git a/ChangeLog b/ChangeLog index b56086d20..49b06abb0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2006-01-20 Richard Frith-Macdonald + + * Source/NSAutoreleasePool.m: ([addObject:]) fix error in check for + missing pool during thread exit. + 2006-01-19 Richard Frith-Macdonald * Tools/plget.m: remove unused variable diff --git a/Source/NSAutoreleasePool.m b/Source/NSAutoreleasePool.m index 343c64bb9..4f01b17d9 100644 --- a/Source/NSAutoreleasePool.m +++ b/Source/NSAutoreleasePool.m @@ -231,11 +231,12 @@ static IMP initImp; NSThread *t = GSCurrentThread(); NSAutoreleasePool *pool; - if (t->_active == NO) + pool = t->_autorelease_vars.current_pool; + if (pool == nil && t->_active == NO) { [self new]; // Don't leak while exiting thread. + pool = t->_autorelease_vars.current_pool; } - pool = t->_autorelease_vars.current_pool; if (pool != nil) { (*pool->_addImp)(pool, @selector(addObject:), anObj);