adium 5055:300f836d29b2: Better solution than 565d34e57d54: use ...

commits at adium.im commits at adium.im
Wed Sep 12 11:40:03 UTC 2012


details:	http://hg.adium.im/adium/rev/300f836d29b2
revision:	5055:300f836d29b2
branch:		(none)
author:		Thijs Alkemade <thijsalkemade at gmail.com>
date:		Wed Sep 12 13:39:18 2012 +0200

Better solution than 565d34e57d54: use a weak property.

diffs (144 lines):

diff -r 55e780feaac8 -r 300f836d29b2 Frameworks/AIUtilities Framework/Source/MVMenuButton.h
--- a/Frameworks/AIUtilities Framework/Source/MVMenuButton.h	Wed Sep 12 12:56:59 2012 +0200
+++ b/Frameworks/AIUtilities Framework/Source/MVMenuButton.h	Wed Sep 12 13:39:18 2012 +0200
@@ -24,13 +24,15 @@
 @interface MVMenuButton : NSButton <NSCopying> {
 	NSImage				*bigImage;
 	NSImage				*smallImage;
-	NSToolbarItem 		*toolbarItem;
+	NSToolbarItem 		*__weak toolbarItem;
 	NSBezierPath 		*arrowPath;
 	
 	BOOL				drawsArrow;
 	NSControlSize 		controlSize;
 }
 
+ at property (nonatomic, weak) NSToolbarItem *toolbarItem;
+
 /*!
  * @brief Set the <tt>NSControlSize</tt> at which the button will be displayed.
  * @param inSize A value of type <tt>NSControlSize</tt>
@@ -56,20 +58,6 @@
 - (NSImage *)image;
 
 /*!
- * @brief Set the toolbar item associated with this button
- *
- * This is used for synchronizing sizing.
- * @param item The <tt>NSToolbarItem</tt> to associate.
- */
-- (void)setToolbarItem:(NSToolbarItem *)item;
-
-/*!
- * @brief Returns the toolbar item associated with this button
- * @return The <tt>NSToolbarItem</tt>
- */
-- (NSToolbarItem *)toolbarItem;
-
-/*!
  * @brief Set whether the button draws a dropdown arrow.
  *
  * The arrow is black and positioned in the lower righthand corner of the button; it is used to indicate that clicking on the button will reveal further information or choices.
diff -r 55e780feaac8 -r 300f836d29b2 Frameworks/AIUtilities Framework/Source/MVMenuButton.m
--- a/Frameworks/AIUtilities Framework/Source/MVMenuButton.m	Wed Sep 12 12:56:59 2012 +0200
+++ b/Frameworks/AIUtilities Framework/Source/MVMenuButton.m	Wed Sep 12 13:39:18 2012 +0200
@@ -24,6 +24,8 @@
 
 @implementation MVMenuButton
 
+ at synthesize toolbarItem;
+
 - (id)initWithFrame:(NSRect)frame
 {
 	if ((self = [super initWithFrame:frame])) {
@@ -113,16 +115,6 @@
 	return bigImage;
 }
 
-//Containing toolbar Item
-- (void)setToolbarItem:(NSToolbarItem *)item
-{
-	toolbarItem = item;
-}
-- (NSToolbarItem *)toolbarItem
-{
-	return toolbarItem;
-}
-
 //Popup arrow Drawing
 - (void)setDrawsArrow:(BOOL)inDraw
 {
diff -r 55e780feaac8 -r 300f836d29b2 Plugins/Secure Messaging/ESSecureMessagingPlugin.m
--- a/Plugins/Secure Messaging/ESSecureMessagingPlugin.m	Wed Sep 12 12:56:59 2012 +0200
+++ b/Plugins/Secure Messaging/ESSecureMessagingPlugin.m	Wed Sep 12 13:39:18 2012 +0200
@@ -201,11 +201,6 @@
 	NSToolbarItem	*item = [[notification userInfo] objectForKey:@"item"];
 	if ([toolbarItems containsObject:item]) {
 		
-		[[item view] setMenu:nil];
-		[[item view] setToolbarItem:nil];
-		[item setView:nil];
-		[item setMenuFormRepresentation:nil];
-		
 		[toolbarItems removeObject:item];
 		[validatedItems removeObject:item];
 
diff -r 55e780feaac8 -r 300f836d29b2 Source/BGEmoticonMenuPlugin.m
--- a/Source/BGEmoticonMenuPlugin.m	Wed Sep 12 12:56:59 2012 +0200
+++ b/Source/BGEmoticonMenuPlugin.m	Wed Sep 12 13:39:18 2012 +0200
@@ -130,9 +130,6 @@
 {
 	NSToolbarItem	*item = [[notification userInfo] objectForKey:@"item"];
 	if ([[item itemIdentifier] isEqualToString:TOOLBAR_EMOTICON_IDENTIFIER]) {
-		[item setView:nil];
-		[[item view] setMenu:nil];
-		[item setView:nil];
 		[toolbarItems removeObject:item];
 	}
 }
diff -r 55e780feaac8 -r 300f836d29b2 Source/ESUserIconHandlingPlugin.m
--- a/Source/ESUserIconHandlingPlugin.m	Wed Sep 12 12:56:59 2012 +0200
+++ b/Source/ESUserIconHandlingPlugin.m	Wed Sep 12 13:39:18 2012 +0200
@@ -236,11 +236,6 @@
 	NSToolbarItem	*item = [[notification userInfo] objectForKey:@"item"];
 	if ([toolbarItems containsObject:item]) {
 		
-		[[item view] setMenu:nil];
-		[[item view] setToolbarItem:nil];
-		[item setView:nil];
-		[item setMenuFormRepresentation:nil];
-		
 		[toolbarItems removeObject:item];
 		[validatedItems removeObject:item];
 
diff -r 55e780feaac8 -r 300f836d29b2 Source/GBApplescriptFiltersPlugin.m
--- a/Source/GBApplescriptFiltersPlugin.m	Wed Sep 12 12:56:59 2012 +0200
+++ b/Source/GBApplescriptFiltersPlugin.m	Wed Sep 12 13:39:18 2012 +0200
@@ -103,10 +103,6 @@
 											 selector:@selector(toolbarWillAddItem:)
 												 name:NSToolbarWillAddItemNotification
 											   object:nil];
-	[[NSNotificationCenter defaultCenter] addObserver:self
-											 selector:@selector(toolbarDidRemove:)
-												 name:NSToolbarDidRemoveItemNotification
-											   object:nil];
 	//Start building the script menu
 	scriptMenu = nil;
 	[self buildScriptMenu]; //this also sets the submenu for the menu item.
@@ -716,16 +712,4 @@
 	}
 }
 
-- (void)toolbarDidRemove:(NSNotification *)notification
-{
-	NSToolbarItem	*item = [[notification userInfo] objectForKey:@"item"];
-	
-	if (!notification || ([[item itemIdentifier] isEqualToString:SCRIPT_IDENTIFIER])) {
-		[[item view] setMenu:nil];
-		[[item view] setToolbarItem:nil];
-		[item setView:nil];
-		[item setMenuFormRepresentation:nil];
-	}
-}
-
 @end




More information about the commits mailing list