Bug 139986 [CommonNavigator] Convert catch(Error/Throwable) to SafeRunner
In several places the CN framework uses catch(Error/Throwable) to ensure that code does not bring the framework down. Change these to use SafeRunner.
bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/internal/navigator/actions/LinkEditorAction.java
public IStatus runInUIThread(IProgressMonitor monitor) {
			if (!commonViewer.getControl().isDisposed()) {
				ISelection selection = commonViewer.getSelection();
				if (selection != null && !selection.isEmpty()
						&& selection instanceof IStructuredSelection) {
					final IStructuredSelection sSelection = (IStructuredSelection) selection;
					if (sSelection.size() == 1) {
						final ILinkHelper[] helpers = linkService
								.getLinkHelpersFor(sSelection.getFirstElement());
						if (helpers.length > 0) {
							ignoreEditorActivation = true;
							SafeRunner.run(new ISafeRunnable() {
								public void run() throws Exception {
									helpers[0].activateEditor(commonNavigator.getSite()
											.getPage(), sSelection);
								}
								public void handleException(Throwable e) {
									String msg = e.getMessage() != null ? e.getMessage()
											: e.toString();
									NavigatorPlugin.logError(0, msg, e);
								}
							});
							ignoreEditorActivation = false;
						}
					}
				}
			}
			return Status.OK_STATUS;
		}
	};