connectivity/com.nokia.carbide.remoteConnections/src/com/nokia/carbide/remoteconnections/internal/ui/ConnectionStatusSelectorContribution.java
changeset 724 6ab9c30e708f
parent 723 81b14a47b8dc
child 730 8ecd45ef360e
--- a/connectivity/com.nokia.carbide.remoteConnections/src/com/nokia/carbide/remoteconnections/internal/ui/ConnectionStatusSelectorContribution.java	Tue Dec 29 11:18:15 2009 -0600
+++ b/connectivity/com.nokia.carbide.remoteConnections/src/com/nokia/carbide/remoteconnections/internal/ui/ConnectionStatusSelectorContribution.java	Tue Dec 29 11:31:25 2009 -0600
@@ -80,10 +80,10 @@
 public class ConnectionStatusSelectorContribution extends WorkbenchWindowControlContribution {
 
 	/**
-	 * This is a portion of the ICommand id used for the icon in the
+	 * This is the id on the command in the toolbar contribution associated with this 
 	 * widget.  Keep this in sync with the extension point!
 	 */
-	private static final String OPEN_REMOTE_CONNECTIONS_VIEW_COMMAND_SUFFIX = "openRemoteConnectionsView";
+	private static final String OPEN_REMOTE_CONNECTIONS_VIEW_COMMAND_ID = "openRemoteConnectionsView";
 	private Composite container;
 	private CLabel connectionInfo;
 	private ToolItem connectionIcon;
@@ -92,6 +92,7 @@
 	private ListenerBlock listenerBlock;
 	private ToolTip tooltip;
 	private MouseAdapter toolbarListener;
+	private ToolBar toolbar;
 
 	/**
 	 * Contains all the listeners.  In most cases we just recreate the contribution status item.
@@ -186,14 +187,13 @@
 		// to find the expected Eclipse-generated toolitem.  Unfortunately,
 		// controlling all this ourselves is even uglier (I tried).
 
-		final ToolBar toolbar; 
 		if (parent instanceof ToolBar) {
 			toolbar = (ToolBar) parent;
 			ToolItem[] items = toolbar.getItems();
 			for (ToolItem item : items) {
 				Object data = item.getData();
 				if (data instanceof CommandContributionItem &&
-						((CommandContributionItem) data).getId().contains(OPEN_REMOTE_CONNECTIONS_VIEW_COMMAND_SUFFIX)) {
+						((CommandContributionItem) data).getId().contains(OPEN_REMOTE_CONNECTIONS_VIEW_COMMAND_ID)) {
 					connectionIcon = item;
 					break;
 				}
@@ -402,12 +402,11 @@
 		removeListeners();
 		if (connectionIcon != null)
 			connectionIcon.dispose();
-		if (connectionInfo != null && !connectionInfo.isDisposed()) {
-			if (toolbarListener != null && !connectionInfo.getParent().isDisposed())
-				connectionInfo.getParent().removeMouseListener(toolbarListener);
-			toolbarListener = null;
+		if (toolbarListener != null && !toolbar.isDisposed())
+			toolbar.removeMouseListener(toolbarListener);
+		if (connectionInfo != null)
 			connectionInfo.dispose();
-		}
+		
 		super.dispose();
 	}