Bug 310908 [Markers] NPE thrown by markers job
I20100426-0852 I had one editor open in my window. It was maximized and opened on an external file. When I closed it, this NPE suddenly appeared. java.lang.NullPointerException at org.eclipse.ui.internal.views.markers.MarkerFieldFilterGroup.loadSettings(MarkerFieldFilterGroup.java:448) at org.eclipse.ui.internal.views.markers.MarkerContentGenerator.loadGroupWithID(MarkerContentGenerator.java:521) at org.eclipse.ui.internal.views.markers.MarkerContentGenerator.loadFilterSettings(MarkerContentGenerator.java:449) at org.eclipse.ui.internal.views.markers.MarkerContentGenerator.loadFiltersFrom(MarkerContentGenerator.java:467) at org.eclipse.ui.internal.views.markers.MarkerContentGenerator.loadFiltersPreference(MarkerContentGenerator.java:479) at org.eclipse.ui.internal.views.markers.MarkerContentGenerator.getAllFilters(MarkerContentGenerator.java:293) at org.eclipse.ui.internal.views.markers.MarkerContentGenerator.getEnabledFilters(MarkerContentGenerator.java:307) at org.eclipse.ui.internal.views.markers.MarkerContentGenerator.getResourcesForBuild(MarkerContentGenerator.java:904) at org.eclipse.ui.internal.views.markers.MarkerContentGenerator.gatherMarkers(MarkerContentGenerator.java:1004) at org.eclipse.ui.internal.views.markers.MarkerContentGenerator.generateMarkerEntries(MarkerContentGenerator.java:991) at org.eclipse.ui.internal.views.markers.MarkerUpdateJob.clean(MarkerUpdateJob.java:117) at org.eclipse.ui.internal.views.markers.MarkerUpdateJob.buildMarkers(MarkerUpdateJob.java:77) at org.eclipse.ui.internal.views.markers.MarkerUpdateJob.run(MarkerUpdateJob.java:57) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerFieldFilterGroup.java
if(wSetResources==null)computeWorkingSetResources();
		for (int i = 0; i < wSetResources.length; i++) {
			if(wSetResources[i].getFullPath().isPrefixOf(resource.getFullPath())){
				return true;
			}
		}
		return false;
	}
	/**
	 * Initialise the working set for the receiver. Use the window working set
	 * for the working set and set the scope to ON_WORKING_SET if they are to be
	 * used by default.
	 */
	private void initializeWorkingSet() {
		IWorkbenchWindow window = PlatformUI.getWorkbench()
				.getActiveWorkbenchWindow();
		if (window != null) {
			IWorkbenchPage page = window.getActivePage();
			if (page != null) {
				setWorkingSet(page.getAggregateWorkingSet());
				if ((PlatformUI.getPreferenceStore()
						.getBoolean(IWorkbenchPreferenceConstants.USE_WINDOW_WORKING_SET_BY_DEFAULT)))
					setScope(ON_WORKING_SET);
			}
		}
	}
	/**
	 * Return whether or not the receiver is enabled.
	 * 
	 * @return boolean