adium 3414:abd19cb99482: Leak fix

commits at adium.im commits at adium.im
Thu Oct 28 01:54:39 UTC 2010


details:	http://hg.adium.im/adium/rev/abd19cb99482
revision:	3414:abd19cb99482
author:		Evan Schoenberg
date:		Tue Oct 26 22:08:15 2010 -0500

Leak fix
(transplanted from e1bd04993204582a66f330a18017f9d3f89745af)
Subject: adium 3415:5ebc2c7d1524: Fix a theoretical use of null data; however, the Mobile case shouldn't be touched, generally, if groupMobile isn't in use, anyways

details:	http://hg.adium.im/adium/rev/5ebc2c7d1524
revision:	3415:5ebc2c7d1524
author:		Evan Schoenberg
date:		Tue Oct 26 22:08:51 2010 -0500

Fix a theoretical use of null data; however, the Mobile case shouldn't be touched, generally, if groupMobile isn't in use, anyways
(transplanted from 362ba3f2091b6de4fb7a9dbd518ee10f6a6f1c8e)
Subject: adium 3416:76f92710b830: Leak fix

details:	http://hg.adium.im/adium/rev/76f92710b830
revision:	3416:76f92710b830
author:		Evan Schoenberg
date:		Tue Oct 26 22:11:45 2010 -0500

Leak fix
(transplanted from 872930bfd724ff4cb6c7e3c45655bcc91faabdb8)
Subject: adium 3417:93efc426b1c4: Every byte counts. Remove unused ivars

details:	http://hg.adium.im/adium/rev/93efc426b1c4
revision:	3417:93efc426b1c4
author:		Evan Schoenberg
date:		Tue Oct 26 22:13:14 2010 -0500

Every byte counts. Remove unused ivars
(transplanted from 86068c96d00c47be981a082a95c2435d096e508a)
Subject: adium 3418:65c41d96a5d6: Perform a needed nil check

details:	http://hg.adium.im/adium/rev/65c41d96a5d6
revision:	3418:65c41d96a5d6
author:		Evan Schoenberg
date:		Tue Oct 26 22:14:54 2010 -0500

Perform a needed nil check
(transplanted from 815685c156f2d7d3d96a89854f887cb3107fceb7)
Subject: adium 3419:d9f2fbfec5e4: Fix a small leak which occurred each time a link was clicked in a chat

details:	http://hg.adium.im/adium/rev/d9f2fbfec5e4
revision:	3419:d9f2fbfec5e4
author:		Evan Schoenberg
date:		Tue Oct 26 22:15:35 2010 -0500

Fix a small leak which occurred each time a link was clicked in a chat
(transplanted from 3bdef82bac9bf25d4a55e8bfa7c6b04a92c5c7c1)

diffs (180 lines):

diff -r 6fec6924f3bd -r d9f2fbfec5e4 Plugins/Purple Service/adiumPurpleRequest.m
--- a/Plugins/Purple Service/adiumPurpleRequest.m	Sat Oct 23 22:07:54 2010 -0500
+++ b/Plugins/Purple Service/adiumPurpleRequest.m	Tue Oct 26 22:15:35 2010 -0500
@@ -99,7 +99,7 @@
 	NSString			*primaryString = (primary ? [NSString stringWithUTF8String:primary] : nil);
 	
 	//Ignore purple trying to get an account's password; we'll feed it the password and reconnect if it gets here, somehow.
-	if ([primaryString rangeOfString:@"Enter password for "].location != NSNotFound) return [NSNull null];
+	if (primaryString && [primaryString rangeOfString:@"Enter password for "].location != NSNotFound) return [NSNull null];
 	
 	NSMutableDictionary *infoDict;
 	NSString			*okButtonText = processButtonText([NSString stringWithUTF8String:okText]);
@@ -419,7 +419,7 @@
 	PurpleRequestFields *fields = [[dict objectForKey:@"fields"] pointerValue];
 	void *userData = [[dict objectForKey:@"userData"] pointerValue];
 
-	PurpleRequestFieldsCb cb;
+	PurpleRequestFieldsCb cb = NULL;
 
 	switch (returnCode) {
 		case AIPasswordPromptOKReturn:
@@ -436,7 +436,8 @@
 			break;
 	}
 	
-	cb(userData, fields);
+	if (cb)
+		cb(userData, fields);
 }
 
 @end
diff -r 6fec6924f3bd -r d9f2fbfec5e4 Plugins/WebKit Message View/AIWebKitDelegate.m
--- a/Plugins/WebKit Message View/AIWebKitDelegate.m	Sat Oct 23 22:07:54 2010 -0500
+++ b/Plugins/WebKit Message View/AIWebKitDelegate.m	Tue Oct 26 22:15:35 2010 -0500
@@ -101,7 +101,7 @@
     NSInteger actionKey = [[actionInformation objectForKey: WebActionNavigationTypeKey] integerValue];
     if (actionKey == WebNavigationTypeOther) {
 		[listener use];
-	} else if ([((NSString *)LSCopyDefaultHandlerForURLScheme((CFStringRef)request.URL.scheme)).lowercaseString isEqualToString:@"com.adiumx.adiumx"]) {
+	} else if ([[((NSString *)LSCopyDefaultHandlerForURLScheme((CFStringRef)request.URL.scheme)) autorelease].lowercaseString isEqualToString:@"com.adiumx.adiumx"]) {
 		// We're the default for this URL, let's open it ourself.
 		[[NSNotificationCenter defaultCenter] postNotificationName:@"AIURLHandleNotification" object:request.URL.absoluteString];
 		
diff -r 6fec6924f3bd -r d9f2fbfec5e4 Source/AIContactController.h
--- a/Source/AIContactController.h	Sat Oct 23 22:07:54 2010 -0500
+++ b/Source/AIContactController.h	Tue Oct 26 22:15:35 2010 -0500
@@ -17,7 +17,7 @@
 #import <Adium/AIContactControllerProtocol.h>
 #import "AIContactObserverManager.h"
 
- at class AISortController, AdiumAuthorization, AIContactHidingController, AIContactObserverManager;
+ at class AISortController, AIContactHidingController, AIContactObserverManager;
 
 @interface AIContactController : NSObject <AIContactController, AIListObjectObserver> {
 @private
@@ -33,14 +33,11 @@
 	BOOL					useContactListGroups;
 	NSMenuItem				*menuItem_showGroups;
 	BOOL					useOfflineGroup;
-	NSMenuItem				*menuItem_useOfflineGroup;
 	
 	//Detached Contact Lists
 	NSMutableArray			*contactLists;
 	
-	//Authorization
-	AdiumAuthorization		*adiumAuthorization;
-	
+	//Authorization	
 	AIContactObserverManager *contactPropertiesObserverManager;
 }
 
diff -r 6fec6924f3bd -r d9f2fbfec5e4 Source/AIContentController.h
--- a/Source/AIContentController.h	Sat Oct 23 22:07:54 2010 -0500
+++ b/Source/AIContentController.h	Tue Oct 26 22:15:35 2010 -0500
@@ -28,7 +28,6 @@
 	AdiumMessageEvents			*adiumMessageEvents;
 	id<AdiumMessageEncryptor>	adiumEncryptor;
 
-	NSMutableDictionary		*defaultFormattingAttributes;
 	NSMutableSet			*objectsBeingReceived;
 }
 
diff -r 6fec6924f3bd -r d9f2fbfec5e4 Source/AIEmoticonController.h
--- a/Source/AIEmoticonController.h	Sat Oct 23 22:07:54 2010 -0500
+++ b/Source/AIEmoticonController.h	Tue Oct 26 22:15:35 2010 -0500
@@ -30,8 +30,6 @@
     NSCharacterSet				*_emoticonHintCharacterSet;
     NSCharacterSet				*_emoticonStartCharacterSet;
     NSMutableDictionary         *_emoticonIndexDict;
-	
-	BOOL						serviceAppropriateEmoticons;
 }
 
 @end
diff -r 6fec6924f3bd -r d9f2fbfec5e4 Source/AIInterfaceController.h
--- a/Source/AIInterfaceController.h	Sat Oct 23 22:07:54 2010 -0500
+++ b/Source/AIInterfaceController.h	Tue Oct 26 22:15:35 2010 -0500
@@ -54,10 +54,6 @@
     NSMutableAttributedString   *tooltipBody;
     NSMutableAttributedString   *tooltipTitle;
     NSImage                     *tooltipImage;
-
-	
-    NSString					*errorTitle;
-    NSString					*errorDesc;
 	
 	BOOL						closeMenuConfiguredForChat;
 	
diff -r 6fec6924f3bd -r d9f2fbfec5e4 Source/AIMenuController.h
--- a/Source/AIMenuController.h	Sat Oct 23 22:07:54 2010 -0500
+++ b/Source/AIMenuController.h	Tue Oct 26 22:15:35 2010 -0500
@@ -160,9 +160,7 @@
 	
     NSMenu					*textViewContextualMenu;
     
-    NSMutableArray			*locationArray;
-    BOOL					isTracking;
-	
+    NSMutableArray			*locationArray;	
 }
 
 @end
diff -r 6fec6924f3bd -r d9f2fbfec5e4 Source/AIStatusController.h
--- a/Source/AIStatusController.h	Sat Oct 23 22:07:54 2010 -0500
+++ b/Source/AIStatusController.h	Tue Oct 26 22:15:35 2010 -0500
@@ -34,7 +34,6 @@
 	NSMutableSet			*builtInStatusTypes[STATUS_TYPES_COUNT];
 
 	NSMutableSet			*accountsToConnect;
-	BOOL					isProcessingGlobalChange;
 
 	//State menu support
 	NSMutableArray			*stateMenuPluginsArray;
diff -r 6fec6924f3bd -r d9f2fbfec5e4 Source/ESGlobalEventsPreferences.m
--- a/Source/ESGlobalEventsPreferences.m	Sat Oct 23 22:07:54 2010 -0500
+++ b/Source/ESGlobalEventsPreferences.m	Tue Oct 26 22:15:35 2010 -0500
@@ -347,7 +347,7 @@
 - (NSArray *)renamePreset:(NSDictionary *)preset toName:(NSString *)newName inPresets:(NSArray *)presets renamedPreset:(id *)renamedPreset
 {
 	NSString				*oldPresetName = [preset objectForKey:@"Name"];
-	NSMutableDictionary		*newPreset = [preset mutableCopy];
+	NSMutableDictionary		*newPreset = [[preset mutableCopy] autorelease];
 	NSString				*localizedCurrentName = [self _localizedTitle:[adium.preferenceController preferenceForKey:KEY_ACTIVE_EVENT_SET
 																												   group:PREF_GROUP_EVENT_PRESETS]];
 	[newPreset setObject:newName
diff -r 6fec6924f3bd -r d9f2fbfec5e4 Source/ESStatusSort.m
--- a/Source/ESStatusSort.m	Sat Oct 23 22:07:54 2010 -0500
+++ b/Source/ESStatusSort.m	Tue Oct 26 22:15:35 2010 -0500
@@ -621,6 +621,10 @@
 			if (groupMobile) {
 				mobile[0] = [objectA isMobile];
 				mobile[1] = [objectB isMobile];
+			} else {
+				/* If mobile appears in the sort list, treat the two items as identical */
+				mobile[0] = FALSE;
+				mobile[1] = FALSE;
 			}
 
 			for (objectCounter = 0; objectCounter < 2; objectCounter++) {
diff -r 6fec6924f3bd -r d9f2fbfec5e4 Source/GBApplescriptFiltersPlugin.m
--- a/Source/GBApplescriptFiltersPlugin.m	Sat Oct 23 22:07:54 2010 -0500
+++ b/Source/GBApplescriptFiltersPlugin.m	Tue Oct 26 22:15:35 2010 -0500
@@ -322,7 +322,7 @@
 	NSDictionary	*appendDict;
 	NSString		*lastSet = nil;
 	NSString		*set;
-	NSInteger				indentationLevel;
+	NSInteger		indentationLevel;
 	
 	for (appendDict in scripts) {
 		NSString	*title;
@@ -363,6 +363,8 @@
 		if ([item respondsToSelector:@selector(setIndentationLevel:)]) [item setIndentationLevel:indentationLevel];
 		[menu addItem:item];
 	}
+	
+	[lastSet release];
 }
 
 /*!




More information about the commits mailing list