Bug 295250 ContributedPartRenderer eagerly activates constructed parts in createWidget
I was wondering why my part was becoming active when I noticed the two lines of code below in CPR... parentContext.set(IContextConstants.ACTIVE_CHILD, localContext); activate(element); This eager activation is in direct conflict with the 3.x IWorkbenchPage's showView method with a IWorkbenchPage.VIEW_CREATE mode passed in.
bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/workbench/ui/internal/PartServiceImpl.java
if (isInContainer(part)) {
			internalBringToTop(part);
		}
	}
	private void internalBringToTop(MPart part) {
		MElementContainer<MUIElement> parent = part.getParent();
		MPart oldActiveChild = (MPart) parent.getActiveChild();
		if (oldActiveChild != part) {
			parent.setActiveChild(part);
			internalFixContext(part, oldActiveChild);
		}
	}
	private void internalFixContext(MPart part, MPart oldActiveChild) {
		MContext parentPart = getParentWithContext(oldActiveChild);
		if (parentPart == null) {
			return;
		}
		IEclipseContext parentContext = parentPart.getContext();
		IEclipseContext oldContext = oldActiveChild.getContext();
		Object child = parentContext.get(IContextConstants.ACTIVE_CHILD);
		if (child == oldContext) {
			parentContext.set(IContextConstants.ACTIVE_CHILD, part == null ? null : part
					.getContext());
		}
	}
	public MPart findPart(String id) {
		MApplicationElement applicationElement = findPart(rootContainer, id);
		if (applicationElement instanceof MPart)
			return (MPart) applicationElement;
		return null;