adium 4187:03b0a921bb0f: Increased comment detail
commits at adium.im
commits at adium.im
Mon Aug 29 02:08:30 UTC 2011
details: http://hg.adium.im/adium/rev/03b0a921bb0f
revision: 4187:03b0a921bb0f
branch: (none)
author: Evan Schoenberg
date: Sun Aug 28 21:08:25 2011 -0500
Increased comment detail
diffs (33 lines):
diff -r 333c3a8b9b13 -r 03b0a921bb0f Frameworks/Adium Framework/Source/AIProxyListObject.m
--- a/Frameworks/Adium Framework/Source/AIProxyListObject.m Sun Aug 28 21:07:02 2011 -0500
+++ b/Frameworks/Adium Framework/Source/AIProxyListObject.m Sun Aug 28 21:08:25 2011 -0500
@@ -60,7 +60,12 @@
proxy = [proxyDict objectForKey:key];
if (proxy && proxy.listObject != inListObject) {
- /* This is a memory management failure; AIContactController stopped tracking a list object, but it never deallocated. -evands 8/28/11 */
+ /* This is generally a memory management failure; AIContactController stopped tracking a list object, but it never deallocated and
+ * so never called [AIProxyListObject releaseProxyObject:].
+ *
+ * I've seen one case where proxy.listObject referred to a zombie object. I can't reproduce. If that happens, we'll get a crash here in
+ * debug mode only. -evands 8/28/11
+ */
AILogWithSignature(@"%@ was leaked! Meh.", proxy.listObject);
proxy.listObject = inListObject;
@@ -73,7 +78,6 @@
proxy.containingObject = inContainingObject;
proxy.key = key;
[inListObject noteProxyObject:proxy];
-
[proxyDict setObject:proxy
forKey:key];
[proxy release];
@@ -89,6 +93,7 @@
*/
+ (void)releaseProxyObject:(AIProxyListObject *)proxyObject
{
+ AILogWithSignature(@"%@", proxyObject);
[[proxyObject retain] autorelease];
proxyObject.listObject = nil;
[proxyDict removeObjectForKey:proxyObject.key];
More information about the commits
mailing list