Overview
| Comment: | Two small fixes for OFAutoreleasePool.
First, when an OFAutoreleasePool is deallocated, it should always Second, releaseObject should also release the objects of the pools on |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
af41efe079b0456193f87526cef4b6ec |
| User & Date: | js on 2009-05-14 13:46:00 |
| Other Links: | manifest | tags |
Context
|
2009-05-14
| ||
| 14:24 | Get rid of OFNotInSetException. (check-in: bdc9b3219f user: js tags: trunk) | |
| 13:46 | Two small fixes for OFAutoreleasePool. (check-in: af41efe079 user: js tags: trunk) | |
|
2009-05-13
| ||
| 20:39 | Let - release return void again. (check-in: 6d589825cd user: js tags: trunk) | |
Changes
Modified src/OFAutoreleasePool.m from [99c26c51d9] to [1d59e36e29].
| ︙ | ︙ | |||
91 92 93 94 95 96 97 98 99 100 101 102 103 104 | * FIXME: * Maybe we should get the objects ourself, release them and then * release the pool without calling its release method? This way, * there wouldn't be a recursion. */ if (listobj->next != NULL) [listobj->next->object release]; [[OFThread objectForTLSKey: pool_list_key] remove: listobj]; [super dealloc]; } - addToPool: (OFObject*)obj | > > | 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | * FIXME: * Maybe we should get the objects ourself, release them and then * release the pool without calling its release method? This way, * there wouldn't be a recursion. */ if (listobj->next != NULL) [listobj->next->object release]; [self releaseObjects]; [[OFThread objectForTLSKey: pool_list_key] remove: listobj]; [super dealloc]; } - addToPool: (OFObject*)obj |
| ︙ | ︙ | |||
116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
{
[self releaseObjects];
[super release];
}
- releaseObjects
{
if (objects == nil)
return self;
[objects release];
objects = nil;
return self;
| > > > | 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 |
{
[self releaseObjects];
[super release];
}
- releaseObjects
{
if (listobj->next != NULL)
[listobj->next->object releaseObjects];
if (objects == nil)
return self;
[objects release];
objects = nil;
return self;
|
| ︙ | ︙ |