adium 4170:076dcfb5b200: Fix the build and lazy init the proxyDi...
commits at adium.im
commits at adium.im
Mon Aug 22 06:33:07 UTC 2011
details: http://hg.adium.im/adium/rev/076dcfb5b200
revision: 4170:076dcfb5b200
branch: (none)
author: Stephen Holt <sholt at adium.im>
date: Sun Aug 21 23:32:43 2011 -0700
Fix the build and lazy init the proxyDict for proxyListObjects
diffs (35 lines):
diff -r 0170acde86c5 -r 076dcfb5b200 Frameworks/Adium Framework/Source/AIProxyListObject.m
--- a/Frameworks/Adium Framework/Source/AIProxyListObject.m Sun Aug 21 21:12:54 2011 -0500
+++ b/Frameworks/Adium Framework/Source/AIProxyListObject.m Sun Aug 21 23:32:43 2011 -0700
@@ -17,7 +17,6 @@
#import "AIProxyListObject.h"
#import <Adium/ESObjectWithProperties.h>
#import <Adium/AIListObject.h>
-#import <Adium/MAZeroingWeakRef.h>
@interface NSObject (PublicAPIMissingFromHeadersAndDocsButInTheReleaseNotesGoshDarnit)
- (id)forwardingTargetForSelector:(SEL)aSelector;
@@ -28,14 +27,18 @@
@synthesize key, cachedDisplayName, cachedDisplayNameString, cachedLabelAttributes, cachedDisplayNameSize;
@synthesize listObject, containingObject;
-static NSMutableDictionary *proxyDict;
-+ (void)initialize
-{
- if (self == [AIProxyListObject class])
- proxyDict = [[NSMutableDictionary alloc] init];
+static inline NSMutableDictionary *_getProxyDict() {
+ static NSMutableDictionary *proxyDict;
+ static dispatch_once_t onceToken;
+ dispatch_once(&onceToken, ^{
+ proxyDict = [[NSMutableDictionary alloc] init];
+ });
+ return proxyDict;
}
+#define proxyDict _getProxyDict()
+
+ (AIProxyListObject *)existingProxyListObjectForListObject:(AIListObject *)inListObject
inListObject:(ESObjectWithProperties <AIContainingObject>*)inContainingObject
{
More information about the commits
mailing list