adium 4608:b0160156e0cd: ESOTRPrivateKeyGenerationWindowControll...

commits at adium.im commits at adium.im
Sun Jan 29 18:03:33 UTC 2012


details:	http://hg.adium.im/adium/rev/b0160156e0cd
revision:	4608:b0160156e0cd
branch:		(none)
author:		Thijs Alkemade <thijsalkemade at gmail.com>
date:		Sun Jan 29 19:02:46 2012 +0100

ESOTRPrivateKeyGenerationWindowController doesn't need to release itself in the -windowWillClose, but that does mean it leaks here.
Subject: adium 4609:b5fc58d16917: Some more annotations to AIAccount about authorization requests, I think the static analyzer is still not happy with it, though.

details:	http://hg.adium.im/adium/rev/b5fc58d16917
revision:	4609:b5fc58d16917
branch:		(none)
author:		Thijs Alkemade <thijsalkemade at gmail.com>
date:		Sun Jan 29 19:03:22 2012 +0100

Some more annotations to AIAccount about authorization requests, I think the static analyzer is still not happy with it, though.

diffs (40 lines):

diff -r aaba6415e501 -r b5fc58d16917 Frameworks/Adium Framework/Source/AIAccount.h
--- a/Frameworks/Adium Framework/Source/AIAccount.h	Sun Jan 29 18:38:31 2012 +0100
+++ b/Frameworks/Adium Framework/Source/AIAccount.h	Sun Jan 29 19:03:22 2012 +0100
@@ -315,7 +315,7 @@
  * @param infoDict A dictionary of authorization information created by the account originally and possibly modified
  * @param authorizationResponse An AIAuthorizationResponse indicating if authorization was granted or denied or if there was no response
  */
-- (void)authorizationWithDict:(NSDictionary *)infoDict response:(AIAuthorizationResponse)authorizationResponse;
+- (void)authorizationWithDict:(NSDictionary *)__attribute__((ns_consumed))infoDict response:(AIAuthorizationResponse)authorizationResponse;
 
 -(NSMenu*)actionMenuForChat:(AIChat*)chat;
 
diff -r aaba6415e501 -r b5fc58d16917 Frameworks/Adium Framework/Source/AdiumAuthorization.h
--- a/Frameworks/Adium Framework/Source/AdiumAuthorization.h	Sun Jan 29 18:38:31 2012 +0100
+++ b/Frameworks/Adium Framework/Source/AdiumAuthorization.h	Sun Jan 29 19:03:22 2012 +0100
@@ -23,7 +23,7 @@
 }
 
 + (void)start;
-+ (id)showAuthorizationRequestWithDict:(NSDictionary *)inDict forAccount:(AIAccount *)inAccount __attribute__((ns_returns_retained));
-+ (void)closeAuthorizationForUIHandle:(id)handle;
++ (id)showAuthorizationRequestWithDict:(NSDictionary *)inDict forAccount:(AIAccount *)inAccount;
++ (void)closeAuthorizationForUIHandle:(id)__attribute__((ns_consumed))handle;
 
 @end
diff -r aaba6415e501 -r b5fc58d16917 Source/ESOTRPrivateKeyGenerationWindowController.m
--- a/Source/ESOTRPrivateKeyGenerationWindowController.m	Sun Jan 29 18:38:31 2012 +0100
+++ b/Source/ESOTRPrivateKeyGenerationWindowController.m	Sun Jan 29 19:03:22 2012 +0100
@@ -39,6 +39,11 @@
 			
 			[keyGenerationControllerDict setObject:controller
 											forKey:inIdentifier];
+			
+			/* Contrary to most other NSWindowControllers, this doesn't need it to release itself
+			 * in -windowWillClose, as it's in keyGenerationControllerDict.
+			 */
+			[controller autorelease];
 		}
 	}
 }




More information about the commits mailing list