Bug 114390 [Markers] Show In menu item enabled for categories
20051025 The Show In menu item is enabled for categories. Not only is it meaningless it generates the following exception: !ENTRY org.eclipse.ui 4 0 2005-10-31 13:41:50.296 !MESSAGE java.lang.ClassCastException !STACK 0 java.lang.ClassCastException at org.eclipse.ui.views.markers.internal.MarkerView$4.getShowInContext(MarkerView.java:572) at org.eclipse.ui.internal.ShowInMenu.getContext(ShowInMenu.java:252) at org.eclipse.ui.internal.ShowInMenu.fillMenu(ShowInMenu.java:120) at org.eclipse.ui.internal.ShowInMenu.fill(ShowInMenu.java:95) at org.eclipse.jface.action.MenuManager.update(MenuManager.java:627) at org.eclipse.jface.action.MenuManager.update(MenuManager.java:549) at org.eclipse.jface.action.MenuManager.fill(MenuManager.java:232) at org.eclipse.jface.action.MenuManager.update(MenuManager.java:627) at org.eclipse.jface.action.MenuManager.handleAboutToShow(MenuManager.java:373) at org.eclipse.jface.action.MenuManager.access$0(MenuManager.java:369) at org.eclipse.jface.action.MenuManager$2.menuShown(MenuManager.java:386) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:117) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:893) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:917) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:898) at org.eclipse.swt.widgets.Control.WM_INITMENUPOPUP(Control.java:3363) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3082) at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1538) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3910) at org.eclipse.swt.internal.win32.OS.TrackPopupMenu(Native Method) at org.eclipse.swt.widgets.Menu._setVisible(Menu.java:225) at org.eclipse.swt.widgets.Display.runPopups(Display.java:3264) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2852) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1774) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1738) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:376) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:106) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:375) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:164) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:338) at org.eclipse.core.launcher.Main.basicRun(Main.java:282) at org.eclipse.core.launcher.Main.run(Main.java:977) at org.eclipse.core.launcher.Main.main(Main.java:952)
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerView.java
IMemento elementMem = selectionMem.createChild(TAG_MARKER);
			elementMem.putString(TAG_RESOURCE, marker.getMarker().getResource()
					.getFullPath().toString());
			elementMem.putString(TAG_ID, String.valueOf(marker.getMarker()
					.getId()));
		}
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.ui.views.internal.tableview.TableView#restoreSelection(org.eclipse.ui.IMemento)
	 */
	protected IStructuredSelection restoreSelection(IMemento memento) {
		if (memento == null) {
			return new StructuredSelection();
		}
		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
		IMemento selectionMemento = memento.getChild(TAG_SELECTION);
		if (selectionMemento == null) {
			return new StructuredSelection();
		}
		ArrayList selectionList = new ArrayList();
		IMemento[] markerMems = selectionMemento.getChildren(TAG_MARKER);
		for (int i = 0; i < markerMems.length; i++) {
			try {
				long id = new Long(markerMems[i].getString(TAG_ID)).longValue();
				IResource resource = root.findMember(markerMems[i]
						.getString(TAG_RESOURCE));
				if (resource != null) {
					IMarker marker = resource.findMarker(id);