Bug 134588 [Markers] Problems view not indicating pending update after deletion
3.2 M6 The problems view updates itself in the background. During the last weeks I was confused quite a few times due to a log delay till the problems view responded to changes in the workspace. However, I was never able to track this down. Today I made another observation, which I believe is worthwhile to report here. I had a Java source file in my workspace with 3 compile errors (fatal problems, grouping is on). I simply deleted the file and then was confused again because the problems view still showed the problems. I remembered that I saw this behavior in the past. Thus I decided to simply wait and watch this time. In the past I often tried a "clean" to force a rebuild. I waited approximately 20 seconds till the problems were removed from the view. The interesting thing is that the view title did not indicate any ongoing activity. Usually it's cursive to indicate ongoing update work. There was no activity on my laptop during the 20 seconds. Thus, I don't know what caused the delay. I also noted, the no build was caused by the deletion of the compilation unit (at least the progress monitor didn't show an ongoing build and there was no hard disk activity). I think it's hard to track this down but it does cause quite a bit confusion to an end user.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerView.java
*/
	protected void focusSelectionChanged(IWorkbenchPart part,
			ISelection selection) {
		List selectedElements = new ArrayList();
		if (part instanceof IEditorPart) {
			IEditorPart editor = (IEditorPart) part;
			IFile file = ResourceUtil.getFile(editor.getEditorInput());
			if (file == null) {
				IEditorInput editorInput = editor.getEditorInput();
				if (editorInput != null) {
					Object mapping = editorInput
							.getAdapter(ResourceMapping.class);
					if (mapping != null) {
						selectedElements.add(mapping);
					}
				}
			} else {
				selectedElements.add(file);
			}
		} else {
			if (selection instanceof IStructuredSelection) {
				for (Iterator iterator = ((IStructuredSelection) selection)
						.iterator(); iterator.hasNext();) {
					Object object = iterator.next();
					if (object instanceof IAdaptable) {
						ITaskListResourceAdapter taskListResourceAdapter;
						Object adapter = ((IAdaptable) object)
								.getAdapter(ITaskListResourceAdapter.class);
						if (adapter != null
								&& adapter instanceof ITaskListResourceAdapter) {