I have a theory that this may be the solution to the remaining AIProxyListObject crash issue; if the userlist is hidden, as it is by default in the Twitter timeline, then items in the list could previously deallocate without us calling reloadData. The list might try to access its data even if it's not visible if it's is calculating frame heights - and all the recent crashes are in:
authorEvan Schoenberg
Sun, 28 Aug 2011 21:07:02 -0500
changeset 3630 a331644b1ed4
parent 3629 354e4828e888
child 3631 6faa02098034
I have a theory that this may be the solution to the remaining AIProxyListObject crash issue; if the userlist is hidden, as it is by default in the Twitter timeline, then items in the list could previously deallocate without us calling reloadData. The list might try to access its data even if it's not visible if it's is calculating frame heights - and all the recent crashes are in:
{{{
com.apple.AppKit 0x9185c751 -[NSTableView _minimumFrameSize] + 72
com.apple.AppKit 0x91866cfc -[NSTableView tile] + 252
com.apple.AppKit 0x9189dd4e -[NSTableView viewWillDraw] + 75
com.apple.AppKit 0x9189d862 -[NSView viewWillDraw] + 621
}}}

Refs #14294. Please report if you can reproduce the crash after this commit.
(transplanted from 333c3a8b9b13cbe4a7f2befb9477b98ae052b8c5)
Plugins/Dual Window Interface/AIMessageViewController.m
--- a/Plugins/Dual Window Interface/AIMessageViewController.m	Sun Aug 28 19:17:33 2011 -0500
+++ b/Plugins/Dual Window Interface/AIMessageViewController.m	Sun Aug 28 21:07:02 2011 -0500
@@ -1232,15 +1232,12 @@
  */
 - (void)chatParticipatingListObjectsChanged:(NSNotification *)notification
 {
-    //Update the user list
-	AILogWithSignature(@"%i, so %@ %@",[self userListVisible], ([self userListVisible] ? @"reloading" : @"not reloading"),
-					   userListController);
-	
 	[chat resortParticipants];
-	
+
+	/* Even if we're not viewing the user list, we can't risk it keeping stale information about potentially released objects */
+	[userListController reloadData];
+
     if ([self userListVisible]) {
-        [userListController reloadData];
-		
 		[self updateUserCount];
     }
 }