Bug 326175 WBWRenderer arbitrarily modifies the window's parent's active context chain
The window's parent's context arbitrarily changes its active child to the window being rendered in createWidget(*).
bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/WBWRenderer.java
}
		});
		if (wbwModel.getLabel() != null)
			wbwShell.setText(wbwModel.getLocalizedLabel());
		wbwShell.setImage(getImage(wbwModel));
		
		wbwShell.setImages(Window.getDefaultImages());
		return newWidget;
	}
	private void setCloseHandler(MWindow window) {
		IEclipseContext context = window.getContext();
		
		if (window.getParent() == null) {
			context.set(IWindowCloseHandler.class.getName(),
					new IWindowCloseHandler() {
						public boolean close(MWindow window) {
							closeDetachedWindow(window);
							return false;
						}
					});
		} else {
			context.set(IWindowCloseHandler.class.getName(),
					new IWindowCloseHandler() {
						public boolean close(MWindow window) {
							EPartService partService = (EPartService) window
									.getContext().get(
											EPartService.class.getName());
							return partService.saveAll(true);
						}
					});