Plugins: clang warnings
authorRudy Richter
Sat Aug 01 20:43:39 2009 -0400 (2009-08-01)
changeset 42590e9b6b0b1e25
parent 4258 449b389f31b6
child 4260 e954301ab4aa
Plugins: clang warnings
Plugins/Displays/Bezel/GrowlBezelPrefs.m
Plugins/Displays/Bezel/GrowlBezelWindowView.m
Plugins/Displays/Brushed/GrowlBrushedPrefsController.m
Plugins/Displays/Brushed/GrowlBrushedWindowView.m
Plugins/Displays/Bubbles/GrowlBubblesPrefsController.m
Plugins/Displays/Bubbles/GrowlBubblesWindowView.m
Plugins/Displays/MailMe/GrowlMailMeDisplay.m
Plugins/Displays/MailMe/GrowlMailMePrefs.m
Plugins/Displays/MusicVideo/GrowlMusicVideoPrefs.m
Plugins/Displays/MusicVideo/GrowlMusicVideoWindowView.m
Plugins/Displays/Nano/GrowlNanoPrefs.m
Plugins/Displays/Nano/GrowlNanoWindowView.m
Plugins/Displays/SMS/GrowlSMSDisplay.m
Plugins/Displays/SMS/GrowlSMSPrefs.m
Plugins/Displays/Smoke/GrowlSmokePrefsController.m
Plugins/Displays/Smoke/GrowlSmokeWindowView.m
Plugins/Displays/Speech/GrowlSpeechDisplay.m
Plugins/Displays/Speech/GrowlSpeechPrefs.m
Plugins/Displays/WebKit/GrowlWebKitPluginHandler.m
     1.1 --- a/Plugins/Displays/Bezel/GrowlBezelPrefs.m	Sat Aug 01 20:37:33 2009 -0400
     1.2 +++ b/Plugins/Displays/Bezel/GrowlBezelPrefs.m	Sat Aug 01 20:43:39 2009 -0400
     1.3 @@ -29,13 +29,16 @@
     1.4  	NSData *data = nil;
     1.5  	NSColor *color;
     1.6  	READ_GROWL_PREF_VALUE(key, GrowlBezelPrefDomain, NSData *, &data);
     1.7 +	if(data)
     1.8 +		CFMakeCollectable(data);		
     1.9  	if (data && [data isKindOfClass:[NSData class]]) {
    1.10 -		color = [NSUnarchiver unarchiveObjectWithData:data];
    1.11 +			color = [NSUnarchiver unarchiveObjectWithData:data];
    1.12  	} else {
    1.13  		color = defaultColor;
    1.14  	}
    1.15  	[data release];
    1.16 -
    1.17 +	data = nil;
    1.18 +	
    1.19  	return color;
    1.20  }
    1.21  
     2.1 --- a/Plugins/Displays/Bezel/GrowlBezelWindowView.m	Sat Aug 01 20:37:33 2009 -0400
     2.2 +++ b/Plugins/Displays/Bezel/GrowlBezelWindowView.m	Sat Aug 01 20:43:39 2009 -0400
     2.3 @@ -261,22 +261,27 @@
     2.4  	NSData *data = nil;
     2.5  
     2.6  	READ_GROWL_PREF_VALUE(key, GrowlBezelPrefDomain, NSData *, &data);
     2.7 -	if (data && [data isKindOfClass:NSDataClass])
     2.8 -		backgroundColor = [NSUnarchiver unarchiveObjectWithData:data];
     2.9 -	else
    2.10 +	if (data && [data isKindOfClass:NSDataClass]) {
    2.11 +			backgroundColor = [NSUnarchiver unarchiveObjectWithData:data];
    2.12 +	} else {
    2.13  		backgroundColor = [NSColor blackColor];
    2.14 +	}
    2.15  	[backgroundColor retain];
    2.16  	[data release];
    2.17  	data = nil;
    2.18  
    2.19  	[textColor release];
    2.20  	READ_GROWL_PREF_VALUE(textKey, GrowlBezelPrefDomain, NSData *, &data);
    2.21 -	if (data && [data isKindOfClass:NSDataClass])
    2.22 -		textColor = [NSUnarchiver unarchiveObjectWithData:data];
    2.23 -	else
    2.24 +	if(data)
    2.25 +		CFMakeCollectable(data);		
    2.26 +	if (data && [data isKindOfClass:NSDataClass]) {
    2.27 +			textColor = [NSUnarchiver unarchiveObjectWithData:data];
    2.28 +	} else {
    2.29  		textColor = [NSColor whiteColor];
    2.30 +	}
    2.31  	[textColor retain];
    2.32  	[data release];
    2.33 +	data = nil;
    2.34  }
    2.35  
    2.36  - (CGFloat) descriptionHeight:(NSString *)theText attributes:(NSDictionary *)attributes width:(CGFloat)width {
     3.1 --- a/Plugins/Displays/Brushed/GrowlBrushedPrefsController.m	Sat Aug 01 20:37:33 2009 -0400
     3.2 +++ b/Plugins/Displays/Brushed/GrowlBrushedPrefsController.m	Sat Aug 01 20:43:39 2009 -0400
     3.3 @@ -21,13 +21,16 @@
     3.4  	NSData *data = nil;
     3.5  	NSColor *color;
     3.6  	READ_GROWL_PREF_VALUE(key, GrowlBrushedPrefDomain, NSData *, &data);
     3.7 +	if(data)
     3.8 +		CFMakeCollectable(data);		
     3.9  	if (data && [data isKindOfClass:[NSData class]]) {
    3.10 -		color = [NSUnarchiver unarchiveObjectWithData:data];
    3.11 +			color = [NSUnarchiver unarchiveObjectWithData:data];
    3.12  	} else {
    3.13  		color = defaultColor;
    3.14  	}
    3.15  	[data release];
    3.16 -
    3.17 +	data = nil;
    3.18 +	
    3.19  	return color;
    3.20  }
    3.21  
     4.1 --- a/Plugins/Displays/Brushed/GrowlBrushedWindowView.m	Sat Aug 01 20:37:33 2009 -0400
     4.2 +++ b/Plugins/Displays/Brushed/GrowlBrushedWindowView.m	Sat Aug 01 20:43:39 2009 -0400
     4.3 @@ -249,13 +249,16 @@
     4.4  
     4.5  	[textColor release];
     4.6  	READ_GROWL_PREF_VALUE(textKey, GrowlBrushedPrefDomain, NSData *, &data);
     4.7 +	if(data)
     4.8 +		CFMakeCollectable(data);		
     4.9  	if (data && [data isKindOfClass:[NSData class]]) {
    4.10 -		textColor = [NSUnarchiver unarchiveObjectWithData:data];
    4.11 +			textColor = [NSUnarchiver unarchiveObjectWithData:data];
    4.12  	} else {
    4.13 -		textColor = [NSColor colorWithCalibratedWhite:0.1 alpha:1.0];
    4.14 +		textColor = [NSColor colorWithCalibratedWhite:0.1f alpha:1.0f];
    4.15  	}
    4.16  	[textColor retain];
    4.17  	[data release];
    4.18 +	data = nil;
    4.19  }
    4.20  
    4.21  - (void) sizeToFit {
     5.1 --- a/Plugins/Displays/Bubbles/GrowlBubblesPrefsController.m	Sat Aug 01 20:37:33 2009 -0400
     5.2 +++ b/Plugins/Displays/Bubbles/GrowlBubblesPrefsController.m	Sat Aug 01 20:43:39 2009 -0400
     5.3 @@ -19,13 +19,16 @@
     5.4  	NSData *data = nil;
     5.5  	NSColor *color;
     5.6  	READ_GROWL_PREF_VALUE(key, GrowlBubblesPrefDomain, NSData *, &data);
     5.7 +	if(data)
     5.8 +		CFMakeCollectable(data);		
     5.9  	if (data && [data isKindOfClass:[NSData class]]) {
    5.10 -		color = [NSUnarchiver unarchiveObjectWithData:data];
    5.11 +			color = [NSUnarchiver unarchiveObjectWithData:data];
    5.12  	} else {
    5.13  		color = defaultColor;
    5.14  	}
    5.15  	[colorWell setColor:color];
    5.16  	[data release];
    5.17 +	data = nil;
    5.18  }
    5.19  
    5.20  - (void) mainViewDidLoad {
     6.1 --- a/Plugins/Displays/Bubbles/GrowlBubblesWindowView.m	Sat Aug 01 20:37:33 2009 -0400
     6.2 +++ b/Plugins/Displays/Bubbles/GrowlBubblesWindowView.m	Sat Aug 01 20:43:39 2009 -0400
     6.3 @@ -227,12 +227,14 @@
     6.4  	CGFloat backgroundAlpha = 95.0;
     6.5  	READ_GROWL_PREF_FLOAT(GrowlBubblesOpacity, GrowlBubblesPrefDomain, &backgroundAlpha);
     6.6  	backgroundAlpha *= 0.01;
     6.7 -
     6.8 +	
     6.9  	Class NSDataClass = [NSData class];
    6.10  	READ_GROWL_PREF_VALUE(key, GrowlBubblesPrefDomain, NSData *, &data);
    6.11 +	if(data)
    6.12 +		CFMakeCollectable(data);		
    6.13  	if (data && [data isKindOfClass:NSDataClass]) {
    6.14 -		bgColor = [NSUnarchiver unarchiveObjectWithData:data];
    6.15 -		bgColor = [bgColor colorWithAlphaComponent:backgroundAlpha];
    6.16 +			bgColor = [NSUnarchiver unarchiveObjectWithData:data];
    6.17 +			bgColor = [bgColor colorWithAlphaComponent:backgroundAlpha];
    6.18  	} else {
    6.19  		bgColor = [NSColor colorWithCalibratedRed:0.69412
    6.20  											green:0.83147
    6.21 @@ -244,6 +246,8 @@
    6.22  
    6.23  	data = nil;
    6.24  	READ_GROWL_PREF_VALUE(textKey, GrowlBubblesPrefDomain, NSData *, &data);
    6.25 +	if(data)
    6.26 +		CFMakeCollectable(data);		
    6.27  	if (data && [data isKindOfClass:NSDataClass]) {
    6.28  		textColor = [NSUnarchiver unarchiveObjectWithData:data];
    6.29  	} else {
    6.30 @@ -254,6 +258,8 @@
    6.31  
    6.32  	data = nil;
    6.33  	READ_GROWL_PREF_VALUE(topKey, GrowlBubblesPrefDomain, NSData *, &data);
    6.34 +	if(data)
    6.35 +		CFMakeCollectable(data);		
    6.36  	if (data && [data isKindOfClass:NSDataClass]) {
    6.37  		lightColor = [NSUnarchiver unarchiveObjectWithData:data];
    6.38  		lightColor = [lightColor colorWithAlphaComponent:backgroundAlpha];
     7.1 --- a/Plugins/Displays/MailMe/GrowlMailMeDisplay.m	Sat Aug 01 20:37:33 2009 -0400
     7.2 +++ b/Plugins/Displays/MailMe/GrowlMailMeDisplay.m	Sat Aug 01 20:43:39 2009 -0400
     7.3 @@ -40,38 +40,42 @@
     7.4  	READ_GROWL_PREF_VALUE(destAddressKey, @"com.Growl.MailMe", NSString *, &destAddress);
     7.5  	NSDictionary *noteDict = [notification dictionaryRepresentation];
     7.6  
     7.7 -	if (destAddress && [destAddress length]) {
     7.8 -		NSString *title = [noteDict objectForKey:GROWL_NOTIFICATION_TITLE];
     7.9 -		NSString *desc = [noteDict objectForKey:GROWL_NOTIFICATION_DESCRIPTION];
    7.10 -		//hopefully something can be worked out to use the imageData.
    7.11 -		//documentation, Apple, documentation!
    7.12 -		//	NSData *imageData = [noteDict objectForKey:GROWL_NOTIFICATION_ICON];
    7.13 -
    7.14 +	if (destAddress) {
    7.15 +		CFMakeCollectable(destAddress);
    7.16 +		if([destAddress length]) {
    7.17 +			NSString *title = [noteDict objectForKey:GROWL_NOTIFICATION_TITLE];
    7.18 +			NSString *desc = [noteDict objectForKey:GROWL_NOTIFICATION_DESCRIPTION];
    7.19 +			//hopefully something can be worked out to use the imageData.
    7.20 +			//documentation, Apple, documentation!
    7.21 +			//	NSData *imageData = [noteDict objectForKey:GROWL_NOTIFICATION_ICON];
    7.22 +			
    7.23  #ifdef __LP64__
    7.24 -		// On 64-bit, the Message framework is not available. Instead, use the Scripting Bridge.
    7.25 -		MailApplication *Mail = [SBApplication applicationWithBundleIdentifier:@"com.apple.Mail"];
    7.26 -		MailOutgoingMessage *message = [[[[Mail classForScriptingClass:@"outgoing message"] alloc] initWithProperties:[NSDictionary dictionaryWithObjectsAndKeys:title, @"subject", [NSString stringWithFormat:plainTextMessageFormat, desc], @"content", nil]] autorelease];
    7.27 -		MailToRecipient *recipient = [[[[Mail classForScriptingClass:@"to recipient"] alloc] initWithProperties:[NSDictionary dictionaryWithObjectsAndKeys:destAddress, @"address", nil]] autorelease];
    7.28 -		BOOL success;
    7.29 -		
    7.30 -		[[Mail outgoingMessages] addObject:message];
    7.31 -		[message.toRecipients addObject:recipient];	// don't ask me, I'm only following the sample code's example
    7.32 -		success = [message send];
    7.33 +			// On 64-bit, the Message framework is not available. Instead, use the Scripting Bridge.
    7.34 +			MailApplication *Mail = [SBApplication applicationWithBundleIdentifier:@"com.apple.Mail"];
    7.35 +			MailOutgoingMessage *message = [[[[Mail classForScriptingClass:@"outgoing message"] alloc] initWithProperties:[NSDictionary dictionaryWithObjectsAndKeys:title, @"subject", [NSString stringWithFormat:plainTextMessageFormat, desc], @"content", nil]] autorelease];
    7.36 +			MailToRecipient *recipient = [[[[Mail classForScriptingClass:@"to recipient"] alloc] initWithProperties:[NSDictionary dictionaryWithObjectsAndKeys:destAddress, @"address", nil]] autorelease];
    7.37 +			BOOL success;
    7.38 +			
    7.39 +			[[Mail outgoingMessages] addObject:message];
    7.40 +			[message.toRecipients addObject:recipient];	// don't ask me, I'm only following the sample code's example
    7.41 +			success = [message send];
    7.42  #else
    7.43 -		BOOL success = [NSMailDelivery deliverMessage:[NSString stringWithFormat:plainTextMessageFormat, desc]
    7.44 -											  subject:title
    7.45 -												   to:destAddress];
    7.46 +			BOOL success = [NSMailDelivery deliverMessage:[NSString stringWithFormat:plainTextMessageFormat, desc]
    7.47 +												  subject:title
    7.48 +													   to:destAddress];
    7.49  #endif
    7.50 -
    7.51 -		if (!success) {
    7.52 -			NSLog(@"(MailMe) WARNING: Could not send email message \"%@\" to address %@", title, destAddress);
    7.53 -			NSLog(@"(MailMe) description of notification:\n%@", desc);
    7.54 -		} else
    7.55 -			NSLog(@"(MailMe) Successfully sent message \"%@\" to address %@", title, destAddress);
    7.56 +			
    7.57 +			if (!success) {
    7.58 +				NSLog(@"(MailMe) WARNING: Could not send email message \"%@\" to address %@", title, destAddress);
    7.59 +				NSLog(@"(MailMe) description of notification:\n%@", desc);
    7.60 +			} else
    7.61 +				NSLog(@"(MailMe) Successfully sent message \"%@\" to address %@", title, destAddress);
    7.62 +		} else {
    7.63 +			NSLog(@"(MailMe) WARNING: No destination address set");
    7.64 +		}
    7.65  	} else {
    7.66  		NSLog(@"(MailMe) WARNING: No destination address set");
    7.67  	}
    7.68 -
    7.69  	[destAddress release];
    7.70  
    7.71  	id clickContext = [noteDict objectForKey:GROWL_NOTIFICATION_CLICK_CONTEXT];
     8.1 --- a/Plugins/Displays/MailMe/GrowlMailMePrefs.m	Sat Aug 01 20:37:33 2009 -0400
     8.2 +++ b/Plugins/Displays/MailMe/GrowlMailMePrefs.m	Sat Aug 01 20:43:39 2009 -0400
     8.3 @@ -25,6 +25,9 @@
     8.4  - (NSString *) getDestAddress {
     8.5  	NSString *value = nil;
     8.6  	READ_GROWL_PREF_VALUE(destAddressKey, @"com.Growl.MailMe", NSString *, &value);
     8.7 +	if(value) {
     8.8 +		CFMakeCollectable(value);
     8.9 +	}
    8.10  	return [value autorelease];
    8.11  }
    8.12  
     9.1 --- a/Plugins/Displays/MusicVideo/GrowlMusicVideoPrefs.m	Sat Aug 01 20:37:33 2009 -0400
     9.2 +++ b/Plugins/Displays/MusicVideo/GrowlMusicVideoPrefs.m	Sat Aug 01 20:43:39 2009 -0400
     9.3 @@ -29,6 +29,9 @@
     9.4  	NSData *data = nil;
     9.5  	NSColor *color;
     9.6  	READ_GROWL_PREF_VALUE(key, GrowlMusicVideoPrefDomain, NSData *, &data);
     9.7 +	if(data)
     9.8 +		CFMakeCollectable(data);
     9.9 +	
    9.10  	if (data && [data isKindOfClass:[NSData class]]) {
    9.11  		color = [NSUnarchiver unarchiveObjectWithData:data];
    9.12  	} else {
    10.1 --- a/Plugins/Displays/MusicVideo/GrowlMusicVideoWindowView.m	Sat Aug 01 20:37:33 2009 -0400
    10.2 +++ b/Plugins/Displays/MusicVideo/GrowlMusicVideoWindowView.m	Sat Aug 01 20:43:39 2009 -0400
    10.3 @@ -199,6 +199,8 @@
    10.4  	NSData *data = nil;
    10.5  
    10.6  	READ_GROWL_PREF_VALUE(key, GrowlMusicVideoPrefDomain, NSData *, &data);
    10.7 +	if(data)
    10.8 +		CFMakeCollectable(data);
    10.9  	if (data && [data isKindOfClass:NSDataClass])
   10.10  		backgroundColor = [NSUnarchiver unarchiveObjectWithData:data];
   10.11  	else
   10.12 @@ -209,6 +211,8 @@
   10.13  
   10.14  	[textColor release];
   10.15  	READ_GROWL_PREF_VALUE(textKey, GrowlMusicVideoPrefDomain, NSData *, &data);
   10.16 +	if(data)
   10.17 +		CFMakeCollectable(data);
   10.18  	if (data && [data isKindOfClass:NSDataClass])
   10.19  		textColor = [NSUnarchiver unarchiveObjectWithData:data];
   10.20  	else
    11.1 --- a/Plugins/Displays/Nano/GrowlNanoPrefs.m	Sat Aug 01 20:37:33 2009 -0400
    11.2 +++ b/Plugins/Displays/Nano/GrowlNanoPrefs.m	Sat Aug 01 20:43:39 2009 -0400
    11.3 @@ -30,6 +30,8 @@
    11.4  	NSData *data = nil;
    11.5  	NSColor *color;
    11.6  	READ_GROWL_PREF_VALUE(key, GrowlNanoPrefDomain, NSData *, &data);
    11.7 +	if(data)
    11.8 +		CFMakeCollectable(data);		
    11.9  	if (data && [data isKindOfClass:[NSData class]]) {
   11.10  		color = [NSUnarchiver unarchiveObjectWithData:data];
   11.11  	} else {
    12.1 --- a/Plugins/Displays/Nano/GrowlNanoWindowView.m	Sat Aug 01 20:37:33 2009 -0400
    12.2 +++ b/Plugins/Displays/Nano/GrowlNanoWindowView.m	Sat Aug 01 20:43:39 2009 -0400
    12.3 @@ -226,6 +226,8 @@
    12.4  	NSData *data = nil;
    12.5  
    12.6  	READ_GROWL_PREF_VALUE(key, GrowlNanoPrefDomain, NSData *, &data);
    12.7 +	if(data)
    12.8 +		CFMakeCollectable(data);		
    12.9  	if (data && [data isKindOfClass:NSDataClass])
   12.10  		backgroundColor = [NSUnarchiver unarchiveObjectWithData:data];
   12.11  	else
   12.12 @@ -236,6 +238,8 @@
   12.13  
   12.14  	[textColor release];
   12.15  	READ_GROWL_PREF_VALUE(textKey, GrowlNanoPrefDomain, NSData *, &data);
   12.16 +	if(data)
   12.17 +		CFMakeCollectable(data);		
   12.18  	if (data && [data isKindOfClass:NSDataClass])
   12.19  		textColor = [NSUnarchiver unarchiveObjectWithData:data];
   12.20  	else
    13.1 --- a/Plugins/Displays/SMS/GrowlSMSDisplay.m	Sat Aug 01 20:37:33 2009 -0400
    13.2 +++ b/Plugins/Displays/SMS/GrowlSMSDisplay.m	Sat Aug 01 20:43:39 2009 -0400
    13.3 @@ -53,10 +53,16 @@
    13.4  	NSString	*destinationNumberValue = nil;
    13.5  
    13.6  	READ_GROWL_PREF_VALUE(destinationNumberKey, GrowlSMSPrefDomain, NSString *, &destinationNumberValue);
    13.7 +	if(destinationNumberValue)
    13.8 +		CFMakeCollectable(destinationNumberValue);
    13.9  	[destinationNumberValue autorelease];
   13.10  	READ_GROWL_PREF_VALUE(accountAPIIDKey, GrowlSMSPrefDomain, NSString *, &apiIDValue);
   13.11 +	if(apiIDValue)
   13.12 +		CFMakeCollectable(apiIDValue);
   13.13  	[apiIDValue autorelease];
   13.14  	READ_GROWL_PREF_VALUE(accountNameKey, GrowlSMSPrefDomain, NSString *, &accountNameValue);
   13.15 +	if(accountNameValue)
   13.16 +		CFMakeCollectable(accountNameValue);
   13.17  	[accountNameValue autorelease];
   13.18  
   13.19  	if (!([destinationNumberValue length] && [apiIDValue length] && [accountNameValue length])) {
    14.1 --- a/Plugins/Displays/SMS/GrowlSMSPrefs.m	Sat Aug 01 20:37:33 2009 -0400
    14.2 +++ b/Plugins/Displays/SMS/GrowlSMSPrefs.m	Sat Aug 01 20:43:39 2009 -0400
    14.3 @@ -36,6 +36,8 @@
    14.4  - (NSString *) getAccountName {
    14.5  	NSString *value = nil;
    14.6  	READ_GROWL_PREF_VALUE(accountNameKey, GrowlSMSPrefDomain, NSString *, &value);
    14.7 +	if(value)
    14.8 +		CFMakeCollectable(value);
    14.9  	return [value autorelease];
   14.10  }
   14.11  
   14.12 @@ -50,6 +52,8 @@
   14.13  - (NSString *) getAccountAPIID {
   14.14  	NSString *value = nil;
   14.15  	READ_GROWL_PREF_VALUE(accountAPIIDKey, GrowlSMSPrefDomain, NSString *, &value);
   14.16 +	if(value)
   14.17 +		CFMakeCollectable(value);
   14.18  	return [value autorelease];
   14.19  }
   14.20  
   14.21 @@ -64,6 +68,8 @@
   14.22  - (NSString *) getDestinationNumber {
   14.23  	NSString *value = nil;
   14.24  	READ_GROWL_PREF_VALUE(destinationNumberKey, GrowlSMSPrefDomain, NSString *, &value);
   14.25 +	if(value)
   14.26 +		CFMakeCollectable(value);
   14.27  	return [value autorelease];
   14.28  }
   14.29  
   14.30 @@ -87,6 +93,8 @@
   14.31  	NSString *passwordString;
   14.32  	if (status == noErr) {
   14.33  		passwordString = (NSString *)CFStringCreateWithBytes(kCFAllocatorDefault, password, passwordLength, kCFStringEncodingUTF8, false);
   14.34 +		if(passwordString)
   14.35 +			CFMakeCollectable(passwordString);		
   14.36  		[passwordString autorelease];
   14.37  		SecKeychainItemFreeContent(NULL, password);
   14.38  	} else {
    15.1 --- a/Plugins/Displays/Smoke/GrowlSmokePrefsController.m	Sat Aug 01 20:37:33 2009 -0400
    15.2 +++ b/Plugins/Displays/Smoke/GrowlSmokePrefsController.m	Sat Aug 01 20:43:39 2009 -0400
    15.3 @@ -20,13 +20,16 @@
    15.4  	NSData *data = nil;
    15.5  	NSColor *color;
    15.6  	READ_GROWL_PREF_VALUE(key, GrowlSmokePrefDomain, NSData *, &data);
    15.7 +	if(data)
    15.8 +		CFMakeCollectable(data);		
    15.9  	if (data && [data isKindOfClass:[NSData class]]) {
   15.10 -		color = [NSUnarchiver unarchiveObjectWithData:data];
   15.11 +			color = [NSUnarchiver unarchiveObjectWithData:data];
   15.12  	} else {
   15.13  		color = defaultColor;
   15.14  	}
   15.15  	[colorWell setColor:color];
   15.16  	[data release];
   15.17 +	data = nil;
   15.18  }
   15.19  
   15.20  - (void) mainViewDidLoad {
    16.1 --- a/Plugins/Displays/Smoke/GrowlSmokeWindowView.m	Sat Aug 01 20:37:33 2009 -0400
    16.2 +++ b/Plugins/Displays/Smoke/GrowlSmokeWindowView.m	Sat Aug 01 20:43:39 2009 -0400
    16.3 @@ -290,9 +290,11 @@
    16.4  	NSData *data = nil;
    16.5  
    16.6  	READ_GROWL_PREF_VALUE(key, GrowlSmokePrefDomain, NSData *, &data);
    16.7 +	if(data)
    16.8 +		CFMakeCollectable(data);		
    16.9  	if (data && [data isKindOfClass:NSDataClass]) {
   16.10 -		bgColor = [NSUnarchiver unarchiveObjectWithData:data];
   16.11 -		bgColor = [bgColor colorWithAlphaComponent:backgroundAlpha];
   16.12 +			bgColor = [NSUnarchiver unarchiveObjectWithData:data];
   16.13 +			bgColor = [bgColor colorWithAlphaComponent:backgroundAlpha];
   16.14  	} else {
   16.15  		bgColor = [NSColor colorWithCalibratedWhite:0.1 alpha:backgroundAlpha];
   16.16  	}
   16.17 @@ -302,13 +304,17 @@
   16.18  
   16.19  	[textColor release];
   16.20  	READ_GROWL_PREF_VALUE(textKey, GrowlSmokePrefDomain, NSData *, &data);
   16.21 -	if (data && [data isKindOfClass:NSDataClass])
   16.22 -		textColor = [NSUnarchiver unarchiveObjectWithData:data];
   16.23 -	else
   16.24 +	if(data)
   16.25 +		CFMakeCollectable(data);		
   16.26 +	if (data && [data isKindOfClass:NSDataClass]) {
   16.27 +			textColor = [NSUnarchiver unarchiveObjectWithData:data];
   16.28 +	} else {
   16.29  		textColor = [NSColor whiteColor];
   16.30 +	}
   16.31  	[textColor retain];
   16.32  	[data release];
   16.33 -
   16.34 +	data = nil;
   16.35 +	
   16.36  	[textShadow setShadowColor:[bgColor blendedColorWithFraction:0.5 ofColor:[NSColor blackColor]]];
   16.37  }
   16.38  
    17.1 --- a/Plugins/Displays/Speech/GrowlSpeechDisplay.m	Sat Aug 01 20:37:33 2009 -0400
    17.2 +++ b/Plugins/Displays/Speech/GrowlSpeechDisplay.m	Sat Aug 01 20:43:39 2009 -0400
    17.3 @@ -30,11 +30,13 @@
    17.4  - (void) displayNotification:(GrowlApplicationNotification *)notification {
    17.5  	NSString *voice = nil;
    17.6  	READ_GROWL_PREF_VALUE(GrowlSpeechVoicePref, GrowlSpeechPrefDomain, NSString *, &voice);
    17.7 -	if (voice)
    17.8 +	if (voice) {
    17.9 +		CFMakeCollectable(voice);
   17.10  		[voice autorelease];
   17.11 -	else
   17.12 +	} else {
   17.13  		voice = [NSSpeechSynthesizer defaultVoice];
   17.14 -
   17.15 +	}
   17.16 +	
   17.17  	NSString *desc = [notification notificationDescription];
   17.18  
   17.19  	NSSpeechSynthesizer *syn = [[NSSpeechSynthesizer alloc] initWithVoice:voice];
    18.1 --- a/Plugins/Displays/Speech/GrowlSpeechPrefs.m	Sat Aug 01 20:37:33 2009 -0400
    18.2 +++ b/Plugins/Displays/Speech/GrowlSpeechPrefs.m	Sat Aug 01 20:43:39 2009 -0400
    18.3 @@ -30,6 +30,7 @@
    18.4  	READ_GROWL_PREF_VALUE(GrowlSpeechVoicePref, GrowlSpeechPrefDomain, NSString *, &voice);
    18.5  	NSUInteger row = NSNotFound;
    18.6  	if (voice) {
    18.7 +		CFMakeCollectable(voice);
    18.8  		row = [availableVoices indexOfObject:voice];
    18.9  		[voice release];
   18.10      }
    19.1 --- a/Plugins/Displays/WebKit/GrowlWebKitPluginHandler.m	Sat Aug 01 20:37:33 2009 -0400
    19.2 +++ b/Plugins/Displays/WebKit/GrowlWebKitPluginHandler.m	Sat Aug 01 20:43:39 2009 -0400
    19.3 @@ -23,6 +23,7 @@
    19.4  	NSBundle *pluginBundle = [[NSBundle alloc] initWithPath:path];
    19.5  	if (!pluginBundle) {
    19.6  		NSLog(@"%@ Failed to load: %@",NSStringFromClass([self class]),path);
    19.7 +		[pluginBundle release];
    19.8  		return NO;
    19.9  	}
   19.10  
   19.11 @@ -31,6 +32,7 @@
   19.12  		NSLog(@"%@ Failed to load: %@ - the bundle did not contain a valid WebKit plugin",
   19.13  			  NSStringFromClass([self class]),
   19.14  			  path);
   19.15 +		[pluginBundle release];
   19.16  		return NO;
   19.17  	}
   19.18