Overview
Comment: | OFNotificationCenter: Don't retain observer
This avoids retain cycles. A future improvement could be to use a weak reference instead, without |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
5b5c12fa0b816c9714f05db138d89166 |
User & Date: | js on 2023-01-13 13:31:07 |
Other Links: | manifest | tags |
Context
2023-01-22
| ||
21:48 | Support for reading extended attributes on Linux check-in: 565d2b3763 user: js tags: trunk | |
2023-01-13
| ||
13:31 | OFNotificationCenter: Don't retain observer check-in: 5b5c12fa0b user: js tags: trunk | |
13:11 | OFNotificationCenter: Don't expose internal class check-in: 651875bc1f user: js tags: trunk | |
Changes
Modified src/OFNotificationCenter.m from [7f71790adf] to [bec84a1cd3].
︙ | ︙ | |||
65 66 67 68 69 70 71 | { self = [super init]; @try { void *pool = objc_autoreleasePoolPush(); _name = [name copy]; | | | 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | { self = [super init]; @try { void *pool = objc_autoreleasePoolPush(); _name = [name copy]; _observer = observer; _selector = selector; _object = [object retain]; _selectorHash = [[OFString stringWithUTF8String: sel_getName(_selector)] hash]; objc_autoreleasePoolPop(pool); |
︙ | ︙ | |||
104 105 106 107 108 109 110 | return self; } #endif - (void)dealloc { [_name release]; | < | 104 105 106 107 108 109 110 111 112 113 114 115 116 117 | return self; } #endif - (void)dealloc { [_name release]; [_object release]; #ifdef OF_HAVE_BLOCKS [_block release]; #endif [super dealloc]; } |
︙ | ︙ |