adium 2364:2d88f2bca051: retain/autorelease the uploader/window ...
commits at adium.im
commits at adium.im
Thu May 28 04:49:46 UTC 2009
details: http://hg.adium.im/adium/rev/2d88f2bca051
revision: 2364:2d88f2bca051
author: Zachary West <zacw at adium.im>
date: Thu May 28 00:49:41 2009 -0400
retain/autorelease the uploader/window controller, so it doesn't get deallocated as *soon* as it says "I'm done!"
diffstat:
Plugins/Image Uploading Plugin/AIImageUploaderPlugin.m | 17 +++++++++++++++--
1 files changed, 15 insertions(+), 2 deletions(-)
diffs (35 lines):
diff -r 2dcf62dd1e08 -r 2d88f2bca051 Plugins/Image Uploading Plugin/AIImageUploaderPlugin.m
--- a/Plugins/Image Uploading Plugin/AIImageUploaderPlugin.m Thu May 28 00:44:28 2009 -0400
+++ b/Plugins/Image Uploading Plugin/AIImageUploaderPlugin.m Thu May 28 00:49:41 2009 -0400
@@ -248,7 +248,13 @@
*/
- (void)uploadedURL:(NSString *)url forChat:(AIChat *)chat
{
- [[windowControllers objectForKey:chat.internalObjectID] closeWindow:nil];
+ AIImageUploaderWindowController *windowController = [windowControllers objectForKey:chat.internalObjectID];
+ NSObject <AIImageUploader> *imageUploader = [uploadInstances objectForKey:chat.internalObjectID];
+
+ [windowController closeWindow:nil];
+
+ [[windowController retain] autorelease];
+ [[imageUploader retain] autorelease];
[windowControllers setValue:nil forKey:chat.internalObjectID];
[uploadInstances setValue:nil forKey:chat.internalObjectID];
@@ -283,8 +289,15 @@
- (void)cancelForChat:(AIChat *)chat
{
[[uploadInstances objectForKey:chat.internalObjectID] cancel];
+
+ AIImageUploaderWindowController *windowController = [windowControllers objectForKey:chat.internalObjectID];
+ NSObject <AIImageUploader> *imageUploader = [uploadInstances objectForKey:chat.internalObjectID];
+
+ [[windowController retain] autorelease];
+ [[imageUploader retain] autorelease];
+
+ [windowControllers setValue:nil forKey:chat.internalObjectID];
[uploadInstances setValue:nil forKey:chat.internalObjectID];
- [windowControllers setValue:nil forKey:chat.internalObjectID];
AILogWithSignature(@"Cancelled image upload for %@", chat);
}
More information about the commits
mailing list