Bug 316950 Ctrl+V goes to a wrong handler on the "Add Repository"dialog
Using build I20100614-2011 Ctrl+V when pressed Ctrl+V to paste new P2 location on the "Add Repository" dialog, the paste goes to the last active Eclipse part. To duplicate: - Help -> Install new software; select "Add" - Put cursor in the "Location" field, make sure there is some text in the clipboard (for instance, "download.eclipse.org") - Press Ctrl+V - notice that paste goes to the last active Eclipse part, in my case, Package Explorer
bundles/org.eclipse.e4.ui.workbench.swt/src/org/eclipse/e4/ui/internal/workbench/swt/ShellActivationListener.java
if (prevChild == null) {
			return;
		}
		final IEclipseContext parentContext = getParentContext(shell);
		SafeRunner.run(new ISafeRunnable() {
			public void run() throws Exception {
				parentContext.set(IContextConstants.ACTIVE_CHILD, prevChild);
			}
			public void handleException(Throwable exception) {
				WorkbenchSWTActivator.trace("/trace/workbench",
						"failed resetting previous child", exception);
			}
		});
	}
	private IEclipseContext getShellContext(final Shell shell,
			IEclipseContext parentContext) {
		IEclipseContext shellContext = (IEclipseContext) shell
				.getData(ECLIPSE_CONTEXT_DIALOG_ID);
		if (shellContext != null) {
			return shellContext;
		}
		final IEclipseContext context = parentContext
				.createChild(EBindingService.DIALOG_CONTEXT_ID);
		context.set(E4Workbench.LOCAL_ACTIVE_SHELL, shell);
		
		shell.setData(ECLIPSE_CONTEXT_DIALOG_ID, context);
		EContextService contextService = context.get(EContextService.class);
		contextService.activateContext(EBindingService.DIALOG_CONTEXT_ID);
		shell.addDisposeListener(new DisposeListener() {
			public void widgetDisposed(DisposeEvent e) {