Bug 313106 [CommonNavigator] Regression: Show In > Project Explorer removes selection after setting it
N20100516-2000, broken since 3.6 M7, works in R3.5.x. First Show In > Project Explorer removes selection after setting it. 1. start with new workspace 2. switch to 'Resource' perspective 3. close the 'Project Explorer' 4. open the 'Navigator' 5. create a simple project 'P' 6. Navigate > Show In > Project Explorer ==> selection is set in the 'Project Explorer' but immediately removed afterwards Should fix for 3.6 since Show In > is broken
bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/internal/navigator/NavigatorFilterService.java
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.eclipse.core.runtime.Assert;
import org.eclipse.core.runtime.SafeRunner;
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.StructuredViewer;
import org.eclipse.jface.viewers.ViewerFilter;
import org.eclipse.ui.internal.navigator.filters.CommonFilterDescriptor;
import org.eclipse.ui.internal.navigator.filters.CommonFilterDescriptorManager;
import org.eclipse.ui.internal.navigator.filters.SkeletonViewerFilter;
import org.eclipse.ui.navigator.ICommonFilterDescriptor;
import org.eclipse.ui.navigator.INavigatorFilterService;
/**
 * @since 3.2
 * 
 */
public class NavigatorFilterService implements INavigatorFilterService {
	private static final ViewerFilter[] NO_FILTERS = new ViewerFilter[0];
	private static final String ACTIVATION_KEY = ".filterActivation"; 
	private static final String DELIM = ":"; 
	private final NavigatorContentService contentService;
	
	private final Map declaredViewerFilters = new HashMap();
	
	private final Set enforcedViewerFilters = new HashSet();
	
	private final Set activeFilters = new HashSet();