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