Bug 123977 [Markers] NPE in ActionCopyMarker.setClipboard
build I20060110 - select some problems in the Problems view - choose Copy from the context menu - it has no visible effect, and the clipboard is unchanged - the log has: java.lang.NullPointerException at org.eclipse.ui.views.markers.internal.ActionCopyMarker.setClipboard(ActionCopyMarker.java:108) at org.eclipse.ui.views.markers.internal.ActionCopyMarker.run(ActionCopyMarker.java:82) at org.eclipse.jface.action.Action.runWithEvent(Action.java:492) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:530) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:480) at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:392) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:914) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3287) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2907) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1790) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1754) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:403) 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:109) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:381) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:615) 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
private Collection removes = new ArrayList();
		private Object updateKey = new Object();
		/*
		 * (non-Javadoc)
		 * 
		 * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
		 */
		protected IStatus run(IProgressMonitor monitor) {
			synchronized (updateKey) {
				
				
				if (getMarkerAdapter().hasNoMarkers() || adds.size() == 0 || removes.size() == 0)
					updateJob.refreshAll();
				else {
					MarkerList current = getCurrentMarkers();
					current.updateMarkers(getAddedMarkers(adds),
							getExistingMarkers(removes));
					updateJob.refresh(refreshes);
				}
				adds.clear();
				removes.clear();
				refreshes.clear();
			}
			updateForContentsRefresh(monitor);
			return Status.OK_STATUS;
		}
		/*
		 * (non-Javadoc)
		 * 
		 * @see org.eclipse.ui.progress.WorkbenchJob#shouldRun()