wlu: more on handling disposal
diff --git a/1.5/plugins/org.eclipse.epf.library.ui/src/org/eclipse/epf/library/ui/actions/ConfigurationContributionItem.java b/1.5/plugins/org.eclipse.epf.library.ui/src/org/eclipse/epf/library/ui/actions/ConfigurationContributionItem.java
index 24393e0..654dd80 100644
--- a/1.5/plugins/org.eclipse.epf.library.ui/src/org/eclipse/epf/library/ui/actions/ConfigurationContributionItem.java
+++ b/1.5/plugins/org.eclipse.epf.library.ui/src/org/eclipse/epf/library/ui/actions/ConfigurationContributionItem.java
@@ -140,8 +140,28 @@
 		configCombo = new Combo(parent, SWT.DROP_DOWN | SWT.READ_ONLY);
 		configCombo.setVisibleItemCount(10);
 		configCombo.setEnabled(true);
-		configComboViewer = new ComboViewer(configCombo);
+		configComboViewer = new ComboViewer(configCombo) {
+			protected void handleDispose(DisposeEvent event) {
+				super.handleDispose(event);
+				if (!getCombo().isDisposed()) {
+					IStructuredContentProvider c = new IStructuredContentProvider() {
+						public void inputChanged(Viewer viewer,
+								Object oldInput, Object newInput) {
+						}
 
+						public Object[] getElements(Object inputElement) {
+							return new Object[0];
+						}
+
+						public void dispose() {
+
+						}
+					};
+					setContentProvider(c);
+				}
+			}
+
+		};
 		contentProvider = new AdapterFactoryContentProvider(
 				TngAdapterFactory.INSTANCE
 						.getNavigatorView_ComposedAdapterFactory()) {
@@ -358,19 +378,6 @@
 		if (configComboViewer != null) {
 			configComboViewer
 			.removePostSelectionChangedListener(postSelectionChangedListener);
-			if (!configComboViewer.getCombo().isDisposed()) {
-				IStructuredContentProvider c = new IStructuredContentProvider() {
-				    public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {				    	
-				    }
-				    public Object[] getElements(Object inputElement) {
-				    	return new Object[0];
-				    }
-				    public void dispose() {
-				    	
-				    }
-				};
-				configComboViewer.setContentProvider(c);
-			}
 		}
 		
 		super.dispose();