Bug 208987 [Markers] NPE loading user defined filters
I20071106-0816 I have my problems view configured as fast view. When I opened the view today I got an NPE. The view shows no content other then the stack trace. java.lang.NullPointerException at org.eclipse.ui.internal.provisional.views.markers.MarkerFieldFilterGroup.<init>(MarkerFieldFilterGroup.java:160) at org.eclipse.ui.internal.provisional.views.markers.MarkerContentGenerator.loadUserFilter(MarkerContentGenerator.java:731) at org.eclipse.ui.internal.provisional.views.markers.MarkerContentGenerator.loadSettings(MarkerContentGenerator.java:698) at org.eclipse.ui.internal.provisional.views.markers.MarkerContentGenerator.loadFiltersPreference(MarkerContentGenerator.java:668) at org.eclipse.ui.internal.provisional.views.markers.MarkerContentGenerator.getAllFilters(MarkerContentGenerator.java:412) at org.eclipse.ui.internal.provisional.views.markers.MarkerContentGenerator.getEnabledFilters(MarkerContentGenerator.java:454) at org.eclipse.ui.internal.provisional.views.markers.MarkerContentGenerator.updateNeeded(MarkerContentGenerator.java:816) at org.eclipse.ui.internal.provisional.views.markers.CachedMarkerBuilder.updateForNewSelection(CachedMarkerBuilder.java:483) at org.eclipse.ui.internal.provisional.views.markers.ExtendedMarkersView$8.selectionChanged(ExtendedMarkersView.java:817) at org.eclipse.ui.internal.provisional.views.markers.ExtendedMarkersView.createPartControl(ExtendedMarkersView.java:444) at org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:372) at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:229) at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:594) at org.eclipse.ui.internal.Perspective.showFastView(Perspective.java:2012) at org.eclipse.ui.internal.Perspective.setActiveFastView(Perspective.java:1794) at org.eclipse.ui.internal.Perspective.setActiveFastView(Perspective.java:1807) at org.eclipse.ui.internal.Perspective.toggleFastView(Perspective.java:2200) at org.eclipse.ui.internal.WorkbenchPage.toggleFastView(WorkbenchPage.java:3717) at org.eclipse.ui.internal.ShowFastViewContribution.showView(ShowFastViewContribution.java:157) at org.eclipse.ui.internal.ShowFastViewContribution.access$1(ShowFastViewContribution.java:155) at org.eclipse.ui.internal.ShowFastViewContribution$3.widgetSelected(ShowFastViewContribution.java:138) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:227) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:947) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3744) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3355) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2395) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2359) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2225) at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:468) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:463) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:362) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:175) 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:585) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:515) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:455) at org.eclipse.equinox.launcher.Main.run(Main.java:1193) at org.eclipse.equinox.launcher.Main.main(Main.java:1169) at org.eclipse.core.launcher.Main.main(Main.java:30)
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/provisional/views/markers/MarkerFieldFilterGroup.java
MarkerFieldFilter fieldFilter = fields[i].generateFilter();
				if (fieldFilter != null) {
					filters.add(fieldFilter);
					
					if (fieldFilter instanceof MarkerTypeFieldFilter)
						
						((MarkerTypeFieldFilter) fieldFilter)
								.setAndSelectAllTypes(contentGenerator
										.getMarkerTypes());
					if (values != null)
						fieldFilter.initialize(values);
				}
			}
			fieldFilters = new MarkerFieldFilter[filters.size()];
			filters.toArray(fieldFilters);
		}
		return fieldFilters;
	}
	/**
	 * Return the MarkerFieldFilter for field or <code>null</code> if there
	 * isn't one.
	 * 
	 * @param field
	 * @return MarkerFieldFilter
	 */
	public MarkerFieldFilter getFilter(MarkerField field) {
		MarkerFieldFilter[] filters = getFieldFilters();
		for (int i = 0; i < filters.length; i++) {
			if (filters[i].getField().equals(field))
				return filters[i];