[Adium-commits] adium 2055:ed056bb6c400: Thanks to {{{AIExplodeOnEnumerationMuta...

adium-commits at adiumx.com adium-commits at adiumx.com
Fri May 1 23:17:15 UTC 2009


details:	http://hg.adiumx.com/adium/rev/ed056bb6c400
revision:	2055:ed056bb6c400
author:		Zachary West <zacw at adiumx.com>
date:		Fri May 01 19:17:07 2009 -0400

Thanks to {{{AIExplodeOnEnumerationMutation}}}, this was causigng mutate-while-enumerating problems.

diffstat:

 Frameworks/Adium Framework/Source/AIAbstractListController.m |  4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diffs (21 lines):

diff -r 00b4e5f2a859 -r ed056bb6c400 Frameworks/Adium Framework/Source/AIAbstractListController.m
--- a/Frameworks/Adium Framework/Source/AIAbstractListController.m	Fri May 01 10:50:37 2009 -0700
+++ b/Frameworks/Adium Framework/Source/AIAbstractListController.m	Fri May 01 19:17:07 2009 -0400
@@ -572,7 +572,7 @@
 	
 	//Redraw the modified object (or the whole list, if object is nil)
 	if (object) {
-		for (AIProxyListObject *proxyObject in object.proxyObjects) {
+		for (AIProxyListObject *proxyObject in [[object.proxyObjects copy] autorelease]) {
 			[contactListView redisplayItem:proxyObject];
 		}
 	} else {
@@ -583,7 +583,7 @@
 	 * For example, when a contact changes, redraw the metacontact which represents it if appropriate.
 	 */
 	if (object && [object isKindOfClass:[AIListContact class]] && ([(AIListContact *)object parentContact] != object)) {
-		for (AIProxyListObject *proxyObject in [(AIListContact *)object parentContact].proxyObjects) {
+		for (AIProxyListObject *proxyObject in [[[(AIListContact *)object parentContact].proxyObjects copy] autorelease]) {
 			[contactListView redisplayItem:proxyObject];
 		}
 	}




More information about the commits mailing list